Does anyone have experience using GNU Stow for managing dot files? I’m especially interested in using it to build a git repo to include my .vimrc file so I can sync it between hosts.

I know I’ve seen other methods, such as making your home directory a bare git repo, so you can check-in your config files without moving them. There is also the chezmoi golang project.

How do others sync .vimrc between hosts?

  • @igemnace
    link
    41 year ago

    I agree with @glad_cat@lemmy.sdf.org, all of these are just different ways to skin the cat. Whatever gets the files in the proper directories. Once you pick one (even arbitrarily, to a degree), you’ll very likely find no reason to push you toward another solution. I myself use symlinks with GNU cp -s

    • umbraklatOP
      link
      41 year ago

      I’ve never heard of cp -faTs before. I did some experimenting and was surprised that it was recursive. I thought you needed an -R for that, but you don’t. So, cp -faRTs appears to do the same thing, but is funnier.

      In any case, thanks for sharing your repo. I take it, that after the initial install, you can just repeatedly git pull https://git.sr.ht/~igemnace/vim-config and then run vim-config/scripts/install-cfg to keep your config files up-to-date.

      • @igemnace
        link
        2
        edit-2
        1 year ago

        Right! Recursive is implied by -a

        Yep. There’s a single ./install script in project root that calls install-cfg and install-plugins. I only really need to run it once (first time I set up on a machine), and every time I add a new file. If all I’ve done is update existing files, a simple git pull will update my dotfiles’ content automatically, as everything is symlinked already.

    • @nsp
      link
      11 year ago

      Nice! I never knew cp could do that. No more struggling to remember in which order the ln parameters should be!

      • @igemnace
        link
        2
        edit-2
        1 year ago

        Worth noting that this is GNU-specific! For macOS for example, you’d have to install GNU userland (e.g. from homebrew) to get the flag. There’s still value in using other solutions (such as ln), portability-wise.

        As an aside: I mostly think of the ln param orders as exactly the same as cp and mv:

        cp FROM TO
        mv FROM TO
        ln [-s] FROM TO
        

        Maybe that could help!