If you’ve ever experienced a total hard drive meltdown or purchased a new computer (hey, maybe you still love your Apple® IIe), you know the teeth-chilling pain of reloading all of your programs.

Wouldn’t it be nice to never worry about losing your favorite development environment setup to an upgrade or meltdown again?

If so (I can’t imagine you’d want it any other way), creating a reusable and backup-able virtual development environment will change your life.

As a developer, I spend some intimate time with a group of applications designed specifically for my craft. And, since I spend so much time with these applications, it makes sense that I have a very specific setup for each application that makes it easy for me to complete important tasks quickly and efficiently. I’m partial to Linux® development because my sites are usually built with WordPress®, and Linux is the preferred platform for WordPress sites (not to mention the fact that Git seems to be exponentially easier to deal with on Linux).

So, without further ado, here are my super-not-so-secret pieces of advice for creating a separate reusable and backup-able virtual development environment.

Virtualize Linux Mint

If you haven’t heard of Oracle VirtualBox, it’s ‘bout time. VirtualBox is a piece of software that allows a user to run another operating system like Windows® or Linux in a completely isolated environment. It’s a bit like running a computer within a computer. As it often does, Wikipedia has a good article on the subject of virtualization.


So, what exactly should you virtualize? You can virtualize just about anything, but remember that running a computer within a computer could use twice the resources. For my virtual development environment, I use Linux Mint. It’s a lightweight (less memory and processor intensive) version of Linux. You can pick your free copy up at their website.

Save a customized ‘vanilla’ setup

Once you’ve installed Linux Mint and set up your development environment the way you like it, shut down the virtual machine and copy the VM folder (before you add individual projects). By creating a “vanilla” setup, you’re giving yourself the option to quickly spin up a dedicated virtual environment for a big project.

Use automated backup for VM images

So, what happens if your hard drive gets destroyed when the death star crashes on your laptop —  leaving everything else in the general vicinity unscathed? Nothing, if you’ve backed up your virtual hard drive image. For that reason, I back up my VirtualBox directory (the one that includes all my virtual machine images) with Dropbox. It makes re-creating my virtual environment as easy as waiting for a simple sync.

Do you have a best practice when it comes to creating a virtual environment? I’d love to hear all about it via Twitter or in the comments. Get in touch @ifyouwillit.

Also published on Medium.