Today I re-discovered etckeeper, which allows `/etc` to be version-controlled with a VCS (git in my case). I decided to spend some time figuring it out and stop worrying about messing things up each time I wanted to experiment with something. It also hooks in to the package manager during an upgrade or install, so that’s ones less thing to worry about.
It took me less than an hour to figure things out the first time. Now I have a neat setup that runs itself: each change made to one of my dotfiles or configuration files automatically pushes the changes to the backup server and keeps it in sync.
Best of all, there is no lock-in with a third party provider, and no worry about unsupported platforms.