I’ve written before about the idea of combining your dotfiles into a single Org file and then tangling them out to their proper locations. That’s a nice solution because it provides an easy way to document what you’re doing and makes it convenient to put them under version control.
Toon Claes, from that previous post, likes to have a separate Org file for each dotfile but I like the idea of keeping everything in a single file. The individual dotfiles can still be tangled out to the correct places but all the source and commentary is in a single easy-to-find file that can be version controlled without a lot of fuss.
I’m not the only one who likes the idea. Mike Hostetler has also implemented it and posted his version along with a link to it in his GitHub. Like Claes, he puts each dotfile in a separate Org file but it’s easy to change that if you prefer the “one Org file to rule them all” method instead. You’ll have to put individual tangle commands with each source block instead of a single one in the headers but you still have to specify those tangle commands even if you use multiple files so it’s not really any extra work.
Ever since I first saw this idea, I’ve thought it was the right thing but I’m ashamed to say that I’ve been too lazy to implement it myself. There’s really no excuse because you can do it piecemeal, even doing a single file at a time. As I wrote before, this idea is especially useful if you have more than one machine running the same OS. My iMac died recently so when I get around to replacing it, it would be useful to have a set of dotfiles ready to go. Maybe that will encourage me to actually do it.