This guide goes through setting up a development environment using the automation tools I use across my workstations and laptops.

The tools are work in progress and might mess up your existing configuration or any fancy customisations, so please try these first on a test environment and take backups of any important files.

If you're just looking for manually setting up and configuring your environment, see the alternatives guides instead.


Setup development environment on macOS with High Sierra or later installed.

I'm using this set up on my MacBook Pro running Mojave.


Setup Linux development environment on Ubuntu or another Debian-based distribution.

I'm using this setup on my Dell XPS 13 Developer Edition laptop running Ubuntu 16.04 LTS.


Setup development environment on Windows 10 with Windows Subsystem for Linux and a supported Linux distribution.

I'm using this setup on my desktop PC running Ubuntu 18.04 LTS.


While my tools make changes to your .bashrc and .zshrc files, setting up and customising your favourite shell is not documented here. You could take a look at my dotfiles instead.