I use this to quickly configure a GNU/Linux system with the software I generally use and the configuration I like.
The setup currently understands laptop (desktop) configuration and cloud VMs (Ubuntu 16.x).
- XMonad tiling window manager
- NVidia graphics drivers
- Steam client
- Dropbox
- Google Cloud SDK
- fish shell, mosh mobile shell, gyazo, synergy
If configured for cloud features, you also get:
- Docker bootstrap
- Salt master to control Windows minions on EC2
- Discourse docker image
Additional formulas, my own or third parties, which can be used in your own salt setups:
- Steam developer runtime: https://github.com/TTimo/steamrt-formula
- Google Chrome: https://github.com/TTimo/google-chrome-formula
If you can use cloud-init (EC2 and some other providers), you can upload cloud-init/user-data.payload.gz when creating the VM (Advanced Details, User data in the Launch Instance Wizard).
Otherwise run the scripts in order from cloud-init/scripts once you have a shell (as root).
You will need to customize (or skip) 30_flavor, depending what you default username is and if you want to configure the cloud or desktop version.