Im using a single vagrant file that is generated in another way, i use erb to create one vagrant file and configuration is stored in a yml file, adding entries to the yml file and running the task recreates this vagrant file with as many definitions as VM present. I think is a very clean solution, but then i found out about the lack of support for the snapshot. Ill have my version ready tomorrow if you want to see it before merging this one.