Once a year, I re-install my OS. After every install, I have to install a lot of tools (Xcode, Tmux, Iterm2, etc ..). This is time consuming (about 8 hours to re-install everything and restore config files) and error prone.
I already reduced the number of software I use on a daily basis but I would like to go even further by automating the install and configuration setup.
Here are solutions I have in mind (from best to worst):
- Use a bash script to install tools/restore config files. (Eg: Executing vim for the first time retrieves vim plugins and install plugins dependencies.)
- Use a Virtual Machine as "Template VM" with tools/conf files pre installed and configured. (I am already doing this on Ubuntu as I develop in virtual machine) but every time I need to add a new tools, I will have to setup it up twice (in the "Template VM" and the VM I am currently using).
Are there better ways to achieve this goal ?
Requirements: Ideally I would like the solution to be both applicable on Mac OS X and GNU/Linux (Ubuntu).