Any Drupal user should be free to use any Operating System he likes, without any impact on his productivity. Whatever you choose to work with Linux, OSX or Windows : virtual machines are here to help you. Vagrant will make your virtual machines management easier and Puppet your configuration extremely flexible. You will still be free to code with your favourite OS and tools. They both will help you to setup a professional development environment and more, in an instant.
"Clean development environment for Drupal" is using code examples with Vagrant, a virtual machines management tool, and Puppet, Configuration management tool. In this presentation we use Puppet to configure Apache, PHP, MySQL and Drush on top of Ubuntu lucid.
Full version of the code is available on Github: https://github.com/Luukyb/drupal-puppet
You can also try the drupal project for vagrant:
Project Oscar (by @manarth):
Puppet Labs modules:
This presentation was showed at the Drupal meet up in Cebu, Philippines.