I’ve rewritten my dotfiles from scratch twice, and both times ended the same way: a burst of enthusiasm, a config that works for a week, and then months of small annoyances I never fix because touching the setup again feels like starting the whole project over.
The rule this time
One change per week, and only ever a change I can explain in a sentence. No wholesale rewrites, no adopting someone else’s 4,000-line config and pruning it down later. If I can’t say why a change helps in one sentence, it waits.
Three months in, the actual changes have been almost boring:
- Bound a single key to fuzzy-jump between recent directories, instead of
cd-ing manually. - Replaced a shell prompt that shelled out to
git statuson every prompt render with one that reads the git index directly. - Deleted eleven aliases I hadn’t used according to shell history, and kept the four I had.
What slow actually buys you
None of these individually would justify a blog post. Together, over three months, they add up to a setup I understand completely — because I made every decision deliberately, one at a time, instead of importing someone else’s opinions in one sitting and slowly forgetting which parts I actually agreed with.