Lately I’ve been on a mission to separate my development environments by project, and by category (personal/work/Gophercon/etc). The writeup on the Gopheracademy blog describes a fun way to create an isolated container-based environment for each project by using LXD on Ubuntu. Last night I wondered to myself if there was a way to get a similar experience by manipulating Windows Subsystem for Linux somehow. That was a rabbit hole of searching, let me tell ya true.
I want to document a setup that I’ve found that works really well for me using Windows 10 and Windows Subsystem for Linux for general development. Before we dive into any specifics, though, I want to provide some background and explain my objectives which will help to frame the decisions I’ve made and the trade-offs chosen to reach a more ideal environment. Objective My objective is to build a development environment that is comfortable for Open Source development with a target of mostly Linux servers.