Blog #5: QuickLoad - One Script to Set Up a Fresh WSL2 Box

Tag: Bash, WSL

Introduction

Every time I reset a WSL distro (which happens more often than I would like to admit), I end up searching for the same install commands all over again. The Docker GPG key steps, the nvm curl command, the Elasticsearch apt repo and so on. After doing this hunt one too many times, I put all of it into a single interactive bash script and called it QuickLoad.

You run ./dev_setup.sh on a fresh WSL2 Ubuntu box, pick what you want from a numbered menu, and it installs my usual stack for you.

The source code can be found here

NOTE: The repo is archived. I am not actively maintaining it, but it is self-contained and might still save someone (mostly future me) an afternoon of setup. More on that at the end.

What it installs

How it works

The script shows a numbered menu of components. You can pick a single one, a comma separated list, or "Install All". Each installer is idempotent, so if a component fails you can just re-run the script and retry it without breaking whatever already got installed.

Before installing anything it runs a few pre-flight checks:

Everything gets logged to ~/dev-setup-install.log and at the end you get a pass/skip/fail summary, so you know exactly which component to retry.

NOTE: Run it as a normal user, not root. The script calls sudo by itself where needed, and some tools (Elasticsearch for one) refuse to run as root anyway.

KinD extras

There is also a small KinD/ folder with cluster configs (like kind-3nodes.yaml) and some dashboard notes, for bringing up a local multi-node kubernetes cluster once Docker and KinD are in place.

Rough edges worth knowing

On archiving it

I have marked the repo as archived because I know myself well enough to admit I will not be keeping the install steps current. Setup scripts like this rot quietly - the script does not change, the internet underneath it does. But since it is a single file with no dependencies on anything of mine, it felt more useful left up as-is than deleted. If a component fails, the log and the summary should point you to the exact step, and fixing one installer function is usually a small edit.