A simple approach to managing dotfiles by making $HOME itself a git repository. The key trick is a one-byte .gitignore containing just '*', which ignores all files by default, requiring explicit 'git add -f' to track specific config files. Once tracked, files behave normally with git. Setting up a new machine is straightforward with a few git commands. The approach also covers per-host customization using hostname-based directory structures in $PATH and include directives in config files like sway, avoiding the need for specialized dotfile management tools like GNU stow.

3m read timeFrom drewdevault.com
Post cover image

Sort: