If there's one thing I've learned lately, after upgrading a few home PC's, it's that getting your environment back to the way it was prior to the hardware upgrade is never fun. If you're a developer, there are a specific set of tools which you are used to using. If you are a professional and spend 8-12 hours a day in Visual Studio, with a certain source control engine, certain code tools, and a certain color scheme, suddenly being without them can be quite jarring.
That's why I feel it's best to virtualize your development environment. Install all the tools you need, and you'll have a portable pc that can travel with you. When you replace your host, the guest can just be copied right over! The best thing is that you can back up the virtual pc & it will only contain the software used in a development context. You can even RDP into the development virtual PC to be "in" the machine.
So I'm completing setting a virtual machine up now. Here's my environment:
1.5 gb ram, virtual machine (Microsoft Virtual Server).
Vista Enterprise Edition (Wanted to make sure I developed under least privilege, and got used to it)
Microsoft Visual Studio 2008 Professional
JetBrains Resharper (Code Refactoring / Usability plugin for studio -- a MUST HAVE!)
JetBrains dotTrace (Performance Profiling)
NUnit (Runs unit tests)
TortoiseSVN (Shell client for my VisualSVN subversion server)
VisualSVN Studio Plugin (Connects Studio to my VisualSVN subversion server)
TeamPrise Explorer (A free TFS connector. Used to publish my open source software on CodePlex)
NCover and NCoverExplorer (Unit Test Coverage tools)
TestDriven.NET (Unit Test Runner plugin for NUnit for Visual Studio)
NUnit is open source and free to use, as are VisualSVN server and TortoiseSVN.
TestDriven.NET, NCover, and TeamPrise were all provided for free for open source products. I'd like to thank those publishers again for supporting the community!