If you are a Unix afficiado like me dotfiles are the little configuration helpers that make the world run just right for you. Often you’ve tweaked them just right for months and months … and getting the system to work such well-oiled again after a crash will be troublesome.

If you work on different computers, keeping them all the same is cumbersome, and that means you won’t do it consistently, causing a productivity nosedive whenever you switch machines.

Sometimes, it turns out that a change you made to them wasn’t so good after all.

Essentially, dotfiles are code. Like all code, your dotfiles belong into an (ideally decentrally available) repository.

I personally use github, but the important thing here is decentrally. Hard disks break. Computers die and get lost. You do not want your only backup on the machine that just got taken away from you at an airport (something that increasingly happens in the US).

I also have a little script in there, which deletes the original dotfiles on a system and relinks them to their repository version - that way, I can quickly deploy my configuration onto a new machine.