Currently, I use GNU Stow to manage my dotfiles.
A clone of this repo lives at ~/.dotfiles
. Each top-level folder represents one application, and contains any config files that that application requires.
To install (for instance) my dunst
configs, I enter ~/.dotfiles
and run stow dunst
. To uninstall them, I run stow -D dunst
from the same place. For more information, see the GNU Stow docs.
There are things this simple system can't handle, like:
- installing configs that don't live under
~
- ensuring that dependencies exist before installing configs that require them
- maintaining slightly divergent versions of configs used by separate machines
If/when I need more power, maybe I'll look into something like
- ChezMoi (found via a HN comment)
- Nix