GNU stow wasn't originally designed to manage dotfiles, but it is an excellent tool for doing just that.
Just create a folder, for example
dotfiles, and the usual
git init to create a new repository. This will be your base folder to keep all your config files, and by using a repository, it affords easy backups of your set-up.
For example, to add
vim to your dotfiles repository, try the following:
mkdir -p ~/dotfiles/vim mv ~/.vimrc ~/dotfiles/vim/ cd ~/dotfiles stow vim
The process, as described in the steps above, is to move your current config file (in this example
.vimrc) to a subfolder in your dotfiles repository, and
stow vim will symlink that file back to your home folder.
What stow is doing here is simply to create a link between
If your application has multiple files within subfolders, this is the same process, but you also create the folders within your
dotfiles folder, for example
stow mutt will link the entire folder so you can manage all of your mutt files in one go. Important: If you do this for mutt, just be careful to not include any passwords or sensitive information in your repository.