 <p>Absolutely yes. There is no real ideal approach for everyone, however -- after much practice you will find that it will depend on what you're most comfortable with. Some of the ways we have used Virtualization:</p> <ul> <li>Virtualized complete .NET development environment in Windows XP, including VS 2008, IIS, MS SQL Server</li> <li>Virtualized complete PHP + RoR development environment in CentOS</li> <li>Virtualized multiple complete Java environments in Windows XP, including Eclipse, Tomcat / Jboss, MySQL and Apache</li> <li>Virtualized multiple complete server environments (with GUI's) in Server 2003, Server 2008, Ubuntu, CentOS, Red Hat, and openSUSE.</li> </ul> <p>In your case, I would say virtualize the entire desktop, then clone it so you can run multiple instances on which you can try your different variations of gem packages, plugins, and configurations. If your host machine has enough RAM -- at least 4GB, you should be able to run at least 3 instances needing 1GB of RAM each. Rule of thumb is to always reserve 1GB for host OS.</p> <p>Also, if your machine is fast enough, you should notice little to no lag when you're running in the virtual instance GUI, except possibly when running a build script or starting a server :)</p> <p>By the way, our virtualization client of choice is <a href="http://www.virtualbox.org/" rel="nofollow noreferrer">VirtualBox</a>.</p>