I've never doubted that there are existing solutions for dot files that do everything I need, but I've yet to find one that doesn't take more work for me to swap to than continuing to just clone a git repo an symlink maybe half a dozen things the once or twice a year that I happen to set up a new machine.
I've looked at it before. Looking at the system I'm writing this comment on, my dotfiles from my repo are ~/.config/alacritty/alacritty.toml, ~/.config/nushell/{config.nu,env.nu}, ~/.tmux.conf, and ~/.gitconfig. I'm not sure if I just use far fewer dotfiles than average, and I know this is a matter of personal taste, but it's just not obvious to me why I'd want to add a tool to symlink five things once. Moreover, most of the jobs I've had give me a Macbook to work on rather than Linux, so that also would require me to either manually install `stow` or move getting homebrew set up to _before _setting_ up my dotfiles, which seems a bit backwards to me given that my my shell config is where I store any configuration for stuff like that.
I'm starting to wonder if I just have a very vanilla dotfile workflow compared to what some other people use. This would surprise me a bit, given how I tend to go overboard in custom configuration for most things, but it definitely feels like my experience isn't enough for me to understand why specialized tooling for dotfiles is needed.
I have a work mac, work linux, and home mac. I want the same terminal-based development environment on all of them, but each requires just a little bit of customization.
For example, the .gitconfig for work is different from home (e.g. my username/email). Ditto for my .ssh/config and my shell aliases.
I also use Nix to manage all my tools, and the home-manager configuration is slightly different between mac & linux due to platform support.
I've gone through a few iterations of home-built solutions, including extending homeshick[1], before discovering YADM which implemented everything I had done but better.
You can just use git directly, no symlinking required. The home folder doesn't become a git repo itself, the dotfiles are just a checkout from a bare repo:
https://www.atlassian.com/git/tutorials/dotfiles
> the once or twice a year that I happen to set up a new machine
This was me for a long time - but then I started using ephemeral (EC2) hosts for remote development, and while I wasn't setting up a new machine frequently, knowing that I could do it with <5min of effort (and 15min of building Nix packages) eliminated a lot of anxiety.