Ramblings of an aging IT geek
← Ramblings of an aging IT geek
tooling

the dotfiles repo i should have made a decade ago

Finally consolidating my scattered shell, vim, and git config into a single bare-repo dotfiles setup with stow.

A mechanical keyboard beside a terminal

For years my "dotfiles" lived in three places: a half-forgotten gist, a tarball on the NAS, and whatever happened to be on the machine I last used. Setting up a new box meant reconstructing my shell from memory and getting it slightly wrong every time. Working from home for a month finally gave me the patience to fix it.

The whole thing is now a single git repo with stow doing the symlinking. One directory per tool, stow vim drops the symlinks where they belong, and nothing is copied so editing the real file edits the repo. .zshrc, .vimrc, .gitconfig, .tmux.conf, the lot.

The part I'd resisted for ages was splitting machine-specific bits out. A ~/.zshrc.local that's sourced if it exists and .gitignored keeps the work proxy and the homelab aliases off GitHub, whilst the shared config stays shared.

Bootstrapping a new machine is now git clone, stow */, done. It took an afternoon to build the thing I'd been not-building for ten years. Predictably, it's the afternoon I'll save back within a month.