Hacker News new | ask | show | jobs
by blemasle 829 days ago
You might want to have a look in stow. https://www.gnu.org/software/stow/

I just stumble across dotstow which adds a git layer on top of it https://github.com/clayrisser/dotstow

2 comments

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.

[1] https://github.com/andsens/homeshick

stow has worked really nicely for managing my dotfiles. Here are two blog posts that helped me get my workflow down:

https://alexpearce.me/2016/02/managing-dotfiles-with-stow/

https://bastian.rieck.me/blog/2019/dotfiles_stow/