If you don't know, Vagrant is really nice tool for setting up transparent development VM environments. This gets rid of the 'works on my machine' excuse. It's a really nice tool and I recommend you try it out.
How deep can we go?
Vagrant also allows you to run a script once a new VM is provisioned so you can check your script in to version control and everyone is working with the same environment.
That being said, I wondered if you could write a bootstrap script that creates a VM, installs Vagrant, inits, and provisions another VM which in turn installs Vagrant, inits, and provisions another VM, which in turn... You get the idea.
The answer is yes. Have fun and see how deep you can go before you run out of memory.
apt-get install -y virtualbox
wget -O vag.deb https://dl.bintray.com/mitchellh/vagrant/vagrant_1.5.4_x86_64.deb
dpkg -i vag.deb
apt-get install -y linux-headers-$(uname -r)
cp /vagrant/Vagrantfile .
cp /vagrant/bootstrap.sh .
The bootstrap is pretty straightforward. We update, install VirtualBox since Vagrant runs on top of VBox (or any other virtualization software). Next, we grab a Vagrant Deb package and install it. After that, we install linux kernel headers and then load those kernel modules for VBox. Then, we Vagrant init and copy our Vagrantfile and bootstrap. Finally, we vagrant up.
Alright, now that I've completely misused an automation tool, it's time for bed.