If you're reading this, then you're either a future me trying to make sense of past cleverness, or you've stumbled in here by accident. Or both.
These are my dotfiles. Feel free to browse and grab anything that works for you. Licenses vary by whatever seemed to make sense at the time of writing. If you'd like to use something but the license worries you, file an issue and I'll probably be happy to change it to CC0 or whatever.
Clone from github, then use GNU stow to install these into a new home directory.
cd Sync # syncthing
git clone --recursive git@github.com:agriffis/skel.git skel
cd skel
stow -S */
What makes stow special is its ability to merge symlinks from multiple source directories, so I have a second set of dotfiles (credentials and other personal stuff) that I manage with Syncthing:
cd Sync/skel2
stow -S */
Just one more detail: tree folding. Stow does this awesome thing where it uses as few symlinks as possible, by symlinking to a dir rather than to individual files. However occasionally there are situations where I'd like to control the level at which this is done.
For example I want .vim/swap
to be a proper directory on my home filesystem,
so .vim
shouldn't be a symlink into .skel
. To make that work, there are
two files in this tree:
vim/.vim/swap/.stow-unfold-hack
vim-/.vim/swap/.stow-unfold-hack-
Since these are separate top-level packages (vim
and vim-
) which install
files into the same directory (.vim/swap
), stow will create the actual dir on
the filesystem with individual symlinks for the two files.