Provision Vagrant with a shell

To allow everyone to be able to replicate the benchmark from my previous post, I’ve played with Vagrant to be able to provide correctly configured virtual machines.

I ended up provisioning two virtual machines in a single Vagrant file using shell provisioning.

I learned loads of unexpected things doing so that you will see in the shell files and the Vagrant file

And that provisioning a Vagrant VM takes quite a long time (especially the dist-upgrade). My two VMs are 75% the same. It would be nice to be able to create a base VM that forks into the two final VMs.

Is there a way to do that apart from scripting to create a new box?