Recently on his blog Rich Zygler has made some suggestions about building up a good development environment. His idea environment includes Linux, Apache, PHP and Subversion.
I do have some definite thoughts on the layout of development environments. And I find that there's a huge lack of information about this on the interweb, so here you go. We use Linux, Apache, PHP, and subversion in our development environment and so these instructions will be biased towards these topics but I think you can apply this method using various other technologies.
He talks about setting up the environment for multiple developers (with advantages and disadvantages) as well as the directory layout and subversion repository setup. There's not any configuration file examples here, but its a good overview of how things are set up in his environment to make a plan of attack for yours.