Recently I realized my life would be easier if I dual-booted Windows 10 and Ubuntu. I tried out Windows Subsystem for Linux and it just wasn't quite for me. My biggest pain points were:
- It's slow
- It's sometimes confusing to figure out where I am in the working directory
- The rules about what can and can't write where are confusing
- Writing automated browser tests for my applications is not easy
That last one is critical.
So I grabbed my Ubuntu 18.04 livedisk, partitioned off a chunk of my hard drive, and started the installation.
The process wasn't painless by any means. My first live disk got corrupted and silently failed for hours. When I finally remade the live disk and completed the installation, I goofed up a few settings borked my graphics driver because of secure boot and UEFI settings. On my third installation, I got it right.
Between my second and third installations, I lost a lot of configuration work. I don't want to lose that information again, so here's just a list of everything I need to make my development machine inhabitable. It's not comprehensive: I usually find the best way to install stuff is to wait until I need it and figure it out then. But this is a solid baseline for my Ubuntu installs
- Create an SSH key and link it to GitHub
- An Oh-My-Zsh theme
- Heroku CLI
- A fun Gnome theme
That's it! Each of these steps usually comes with its own little config steps and options, but I find my preferences change over time. This list is pretty static and includes everything I need to get up and running.