Eliminating the Dread of Reinstalls


I hate reinstalls.

Whether it’s getting a new laptop and having days (really weeks) of burn in time, or migrating a website to a new server and/or host, the process is far more difficult than it should be.

And there’s no excuse for it anymore. We have Github. We have Docker. There has to be a better way.

Here are a few of the things I want to completely systematize:

  • New Linux boxes (cloud or local VMs)

  • New CMS setups for moving my website

  • New laptop migration

For Linux boxes, I want to standardize my zsh and vim configs. For new CMS setups I want to basically run a command and have nginx ready to go for a database and content import and be ready to go. And for a new laptop I want to have my documents, images, music, and applications get reinstalled via basically one command from a backup or from a list.

The biggest one for me is Linux boxen. I want to have a gold configuration that I can just fire up on any host or whatever (and ideally distro) and have it just work the way I expect it to.

The laptop one will be the hardest just because operating systems change, you have to reinstall apps, etc.

Anyway, any thoughts you guys have on using some combination of Chef, Github, Docker, etc. to do this kind of thing would be great. I’m about to build a penultimate solution, and I want to get there as quickly as possible.


  1. I already do zsh and vim configuration in a pretty automated way through config files/directories, but I want to automate that process even further.

Related posts: