This document summarizes lessons learned from installing a development stack using Puppet on Linux, Mac OSX, and Windows operating systems. It discusses using Puppet to automate the installation of tools like Atlassian, Sonar, Nexus, and MySQL. Puppet was chosen for its declarative syntax that does not require programming skills. Examples are provided for installing Nexus on Ubuntu, CentOS, and OSX. Adapting the Puppet code to different operating systems required handling package and service naming differences as well as command line differences. Significant challenges were encountered when trying to use Puppet on Windows due to the lack of standard commands and limited supported resources. Ruby was used to create new Puppet providers and resources to download