Transitioned from gnu stow to nix/home-manager and haven't looked back.<p>The great part about that setup is my configuration contains not just my dotfiles, but also the installation of the programs themselves.<p>I don't use the "nix" way of configuration though, I instead have home manager symlink everthing for me. Then I can bail on nix anytime and not have to translate all my files back to yaml.<p>Glad programs like the above exist though for those who don't want to sink time into nix but want to reasonably track configuration.
I am very difficult to please when it comes to dotfile managers. I tried all of them and I'm quite fond of rcm[0]. It's been a few years so it's hard for me to remember exactly what it was but I think both chezmoi and yadm involved some kind of step to "apply" changes but I just want things symlinked into a dotfiles repo that I have a cron job which basically does `git ci -a && git push` to synchronize changes.<p>That said, I don't think rcm should be anyone's first choice. I'd check it out if nothing else seems to work for you. From what I hear, chezmoi seems to be most people's favorite so I'd start there. I don't know a single other person that uses rcm.<p>[0] <a href="https://thoughtbot.github.io/rcm/rcm.7.html" rel="nofollow">https://thoughtbot.github.io/rcm/rcm.7.html</a>
Does this program allow linking the same file to different locations on MacOS vs Linux? I have a few config files like the vscode settings.json that end up in different paths but have the same content. (I see it allows for files that are OS specific but not clear if there is a way to keep them in sync if they are the same, but just need different paths)<p>I use stow at the moment and it is almost perfect but I don't believe it can do that without multiple symlinks or something messy. Didn't like home manager and other dotfiles solutions seemed too bloated for my case
Cool, I'm going to give this a try.<p>I got frustrated with the chezmoi workflow and had Claude write something similar for me the other day.<p><a href="https://github.com/snth/dot">https://github.com/snth/dot</a><p>It's just a simple bash script that acts as a wrapper around git and copies tracked files to a dotfiles directory and back.
My only complaint about yadm is that I've never managed to get its use of git submodules to work reliably. Sometimes I think I get it working, then notice that the submodule lags behind the remote git repo, and no amount of prodding at it gets it to go to the (real) head.
Some more dotfiles resources:<p><a href="https://dotfiles.github.io/" rel="nofollow">https://dotfiles.github.io/</a>
<a href="https://vcs-home.branchable.com/" rel="nofollow">https://vcs-home.branchable.com/</a>