Setup one machine per configuration (if you have 15 developers who need programming tools, 30 staff that need the same basic config, and 5 misc. machines, then I would setup three different machines, up to the point of joining the domain (install all software) and then image them to a Windows Deployment Services server. Then read up on the User STate Migration Tool (to migrate profiles) and then use them both to deploy. If you don't care about user profiles, then it's easier as you can just deploy the images.
Check out the Microsoft tools for deployment, including:
MAP - Microsoft Assessment and Planning Toolkit -
http://technet.microsoft.com/en-us/library/bb977556.aspxMDT - Microsoft Deployment Toolkit -
http://technet.microsoft.com/en-us/solutionaccelerators/dd407791.aspxWAIK - Windows Automated Installation Kit -
http://technet.microsoft.com/en-us/library/cc748933(WS.10).aspxUSMT - User State Migration Tool -
http://technet.microsoft.com/en-us/library/dd560801(WS.10).aspxWDS - Windows Deployment Services/Server -
http://technet.microsoft.com/en-us/library/cc771670(WS.10).aspxYou can also check out my guide on installing WDS:
http://www.lwcomputing.com/tips/static/installwds2008.asp