I would like to have a fully configured ruby unix development environment using Vagrant configuration and provisioning. Ideally it would refer to a simple base box (e.g., precise32) and build the environment up through provisioning in such a way thait it will easily be repeatable for other team members, can be posted to github, and can be upgraded as new versions of the different technologies are available by just changing the provisioning. I have not found any full examples of this searching the web although [Rails Dev Box][1] has some useful ideas. Most of the dev environment examples (like Rails Dev Box) do not set up the guest dev environment because they assume dev will be done on the host using a shared file strategy - or if they do the configuration by hand and then save the box rather than provisioning it.
This also needs to work both in behind a proxy as well as with no proxy.
Here are the steps I am thinking will be required:
On the host:
- install virtualbox, vagrant, vagrant proxyconf
On the guest, via Vagrantfile/provisioning:
use a base unix box (e.g., precise32)
optionally set proxy variables (if proxyconf plugin is installed and http_proxy env var is set)
- provision everything else (puppet, chef, or shell script)
- install various unix tools (apt-get install git, etc.expo ...)
- set up bash environment
- set up vim environment (pathogen plugin, ruby plugins, etc.)
- install rvm
- install ruby 1.9, 2.0, JRuby, Rubinius
- installs and configures tmux
Ideally I could push this into github, it could be cloned, then cd
to new directoy, and vagrant up
to have a fully configured dev environment ...
Does anyone have any examples of doing this?