Alvin's Notebook

Dotfiles, with discipline

2026-10-06 · tools

My dotfiles repo is old enough to vote. Over the years it shrank, which surprised me: the discipline turned out to be subtractive. Three rules did most of the work.

Rule one: no machine-specific values. Hostnames, IPs, tokens live in one un-encrypted-by-default file per host, and everything else is portable. Rule two: no forks. A forked plugin is a liability I will forget to maintain; if I need a change, upstream patch or go without.

Rule three: every file must be regenerable. If I cannot delete the checkout and rebuild it from the repo plus one bootstrap script, something has leaked out of version control. This rule caught a stray ssh config include last spring.

# bootstrap, the whole thing
git clone --depth 1 https://git.5457090.xyz/dotfiles.git ~/.dotfiles
~/.dotfiles/install.sh   # symlinks only, no magic

The repo is public-read on my git service. Nothing sensitive has ever lived there, and rule three is audited quarterly with a fresh-machine restore. Boring, and it has never once failed me.