Hi all!

Recently, I’ve been thinking about how to handle my dotfiles again.

I’ve used chezmoi for a while, and while it’s good, I’ve been wanting something a little lighter.

The simplicity of having my $HOME be a git repository was attractive, but I ran into issues. Specifically, many command line tools I use such as fzf and ripgrep have a feature to automatically ignore in their search results any files which are ignored by a gitignore. This meant I had to either turn this feature off (not ideal) or they wouldn’t work any more. Also, the terminal prompt I use also showed I was within a git repository all the time, which was annoying.

Does anyone have an wisdom they’d like to share? If I can’t get the $HOME as a git repository working the way I’d like, I may check out GNU Stow, which seems to be the next most lightweight option.

Thanks!

  • Adda
    link
    fedilink
    arrow-up
    3
    ·
    3 years ago

    I have often heard of using Git bare repository instead of having $HOME as a normal Git repository itself. This approach sets your $HOME directory only as a Git repository’s work tree, not entire Git repository. That would solve the problem of your CLI tools, I believe. For further information, see for example the following.

    But GNU Stow seems to be pretty interesting way to manage dotfiles, too. It could definitely do what you need, as far as I know.

    • ssenecaOP
      link
      fedilink
      arrow-up
      2
      ·
      3 years ago

      I’ve been experimenting with the Git bare repository method and I think it solves all my problems! Thanks very much. If I run into issues again, I’ll for sure check out GNU Stow.

      • Adda
        link
        fedilink
        arrow-up
        2
        ·
        3 years ago

        Glad to hear that. Hope everything will work out for you. I have already thought about trying Git bare repository myself, but so far I am quite content with just copying dotfiles from my repository directory to $HOME myself. Might give these options a second thought someday soon.