GitHub has open sourced Boxen used internally for automated configuration of Mac laptops, a tool that could be converted to set up Linux or Windows machines.
Boxen is GitHub’s automation tool for setting up and configuring Mac laptops for software development or other type of work, being used by their developers, lawyers, designers, shippers, etc.. The idea is to prepare a system for work with minimal intervention in an automated way and as error free as possible. According to GitHub, with Boxen a new developer has his Mac system set up and ready for committing code in 30 minutes.
Boxen is based on a large collection of dozens of Puppet modules enabling the set up of various pieces of software such as Cassandra, MongoDB, Java, Python, Ruby, Node,js, nginx, Skype, even Minecraft. Although Boxen comes with a preconfigured setup, each user can tweak its configuration as desired.
After a systems administrator has set up a desired configuration with Boxen he can deploy it to an organization via a web application running on Heroku and protected with OAuth.
Boxen works with the latest Mac OS X 10.8, but it could be made to work with earlier version or adapted for Linux or Windows, since the bulk of the work is done by Puppet. The tool has been open sourced under a MIT license.