Because a developer shouldn't need hours to set up their development machines.
- I should be able to restore my development environment withing 5 minutes
- I should have a similar ux with a containerized app as with the native app
- I should be able to access my files
- I should have a way to save settings and share them with my team mates
- I should be able to do this from linux/windows/mac
- docker containers with gui apps
- vagrant vm with desktop and a base image made out of it
- version is fixed, and up to date (to the version of the box)
- exact same vm runs on all machines
- throw away-able vm instance (when broke, when dirty, when starting a new story)
- there is some delay because of the virtual environment
- (done) make a vagrant box with stuff already installed
- install more apps (eclipse, intellij idea, microsoft code, maven with dependencies, jdk, sublime, sql developer, soap ui)
- capture configuration (dotfiles?)
- vagrant up asks for password
- another developer's laptop doesn't have initial private key of the box
To make a base box
- vagrant up
VBoxManage list vms
to list running vms- create the package for the appropiate vm, such as
vagrant package --base portable-development-workstations_gnome_1434462355968_98708
- go to https://atlas.hashicorp.com/mercer/boxes/vivid64-gnome, upload the new box and increase the version
- careful with the known issue hashicorp/vagrant#5059