This is old news, but Github has open sourced Boxen the tool it uses inhouse for automated dev environment setup.
It uses Puppet for everything, and only supports OSX Mountain Lion and above (so it’s Mac-only).
I’ve been wanting to learn Puppet, so I’m going to check it out.
Anyone interested in learning Puppet might start here where you can download all the Puppet docs.
Another good place may be Graham Gilbert’s tutorials.