Managing Dotfiles With GNU Stow
Every so often I reconfigure the way I manage my dotfiles. There are all sorts of tools out there for this.
You get the idea. I never got along with any of them for one reason or another.
I’m now trying GNU Stow. Stow isn’t made specifically for managing dotfiles but it does the job pretty easily. I like it because I can easily organize things and install/update them as needed. To do this I group related dotfiles into folders in
~/.dotfiles. Like this…
Each directory contains the folders full of dotfiles organized the way I want them to be symlinked in $HOME. For example, I can have Stow create and symlink dotfiles for Vim by typing
stow vim. This creates symlinks for both the .vimrc file and the .vim directory. I like grouping things by app, but I could also group by environment or machine if I wanted.
I like this because it makes sense to me and there’s not too much magic involved. Stow can be installed on macOS using Homebrew.
brew install stow
Here are a few articles that helped me get started.
- Managing dotfiles with GNU Stow - taihen.org
- Managing dotfiles with GNU stow - Alex Pearce
- Dotfile Management With GNU Stow - Jon Leopard
- Using GNU Stow to manage your dotfiles - Brandon Invergo