Puppet and launchd services?
Solution 1:
Unfortunately, configuration management tools don't really work well for desktop machines. It is much better to use a tool like Vagrant (as you have).
Vagrant is an open-source virtualization software that allows you to replicate environments via hypervisors. On my Mac, I use it with Oracle's VirtualBox (mostly for Chef testing). VirtualBox is also free. The original intent of Vagrant was to allow developers to have consistent environments to work in (ie: what you were looking for but not how you wanted it to work). Vagrant can be combined with Puppet, check out these examples.