I switched from Windows + WSL to Kubuntu and never looked back. This is my daily coding machine fast, reliable, and actually works. No more waiting 2 minutes for npm install or dealing with broken file watching. Just pure productivity on Linux.
If you're tired of WSL being slow and buggy, this guide shows you exactly how to set up a proper Linux dev environment that just works.
- My Setup in Action
- How to Install Kubuntu
- Why I Quit Windows + WSL
- Why Kubuntu is Better
- What I Use
- How to Set Everything Up
- Speed Difference
- Helpful Links
- My Advice
My daily driver - Kubuntu 25.04 with KDE Plasma
Clean and minimal KDE desktop - fast and responsive
Konsole terminal - where the magic happens
Ram & CPU utlization (better than WSL :D)
KDE System Monitor - tracking CPU, memory, and network usage
Download the ISO from kubuntu.org, flash it to a USB with Rufus, boot from USB, and install. Takes 20 minutes. Here's a video guide if you need help.
Try it in live mode first. If you like it, install it. If not, just restart.
I used WSL since version 1. Stuck with it for years. Even had a laptop with 32GB RAM and fast CPU. Didn't matter. WSL still sucked.
npm install took 2 minutes. Now it takes 30 seconds. Docker was slow as hell. File watching didn't work half the time. WSL ate 8-10GB of RAM doing nothing. It crashed all the time. Lost my work multiple times. VPNs broke it. File permissions were a mess.
WSL sucks. Period.
Kubuntu is amazing for coding. Everything just works. Boots in 15 seconds. Battery lasts 7 hours instead of 4. Uses only 1GB RAM when idle.
Docker runs native - no VM crap. Hot reload actually works. Git is super fast. No crashes. No permission problems. This is how coding should be.
I code in VS Code. Use Docker for containers. nvm for Node versions. pyenv for Python versions. PostgreSQL and Redis for databases.
Terminal is Bash with Oh My Bash (or Zsh with Oh My Zsh). Starship prompt shows git info. tmux for multiple terminals.
Apps: Spotify, Telegram, Discord, VLC, OBS.
| What | Command | Why |
|---|---|---|
| System Update | sudo apt update && sudo apt upgrade |
Get latest packages |
| Basic Tools | sudo apt install build-essential git curl wget vim htop neofetch |
Essential dev tools |
| Tool | Install Commands | Purpose |
|---|---|---|
| Docker | sudo apt install docker.io docker-composesudo usermod -aG docker $USERsudo systemctl enable docker |
Containers |
| Node.js | curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bashRestart terminal nvm install --lts |
JavaScript |
| Python | curl https://pyenv.run | bashAdd to shell config pyenv install 3.11.5 |
Python dev |
| Java | sudo apt install openjdk-17-jdkjava -version |
Java dev |
| VS Code | sudo snap install code --classic |
Code editor |
| Option | Commands | Result |
|---|---|---|
| Bash + Oh My Bash | bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)" |
Better Bash |
| Zsh + Oh My Zsh | sudo apt install zshchsh -s $(which zsh)sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
Better Zsh |
| Starship Prompt | curl -sS https://starship.rs/install.sh | shAdd to .bashrc or .zshrc |
Cool prompt |
| Type | Command | Apps |
|---|---|---|
| Flatpak Setup | sudo apt install flatpaksudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo |
Enable Flatpak |
| Media Apps | flatpak install flathub com.spotify.Clientflatpak install flathub org.videolan.VLCflatpak install flathub com.obsproject.Studio |
Spotify, VLC, OBS |
| Chat Apps | flatpak install flathub org.telegram.desktopflatpak install flathub com.discordapp.Discord |
Telegram, Discord |
| Work Apps | sudo snap install postmansudo snap install notion-snap-rebornflatpak install flathub md.obsidian.Obsidian |
Postman, Notion, Obsidian |
| Tool | Install | What it does |
|---|---|---|
| Dev Tools | sudo apt install tmux postgresql-client redis-tools httpie jq ripgrep |
Terminal tools |
| LazyDocker | curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash |
Docker UI |
| LazySQL | go install github.com/jorgerojas26/lazysql@latest |
Database UI |
| What | Windows + WSL | Kubuntu |
|---|---|---|
| Boot | 45 seconds | 15 seconds |
| npm install | 2+ minutes | 30 seconds |
| Docker build | 3 minutes | 1 minute |
| RAM (idle) | 4.5 GB | 1.2 GB |
| Battery | 4 hours | 6-7 hours |
- Kubuntu - Official Kubuntu site
- KDE - KDE Plasma desktop
- Linux Journey - Learn Linux basics
- Arch Wiki - Has answers for everything
- Docker Docs - Docker help
- Ask Ubuntu - Get help
- r/linux - Linux community
- TLP - Save battery
- Timeshift - Backup your system
If you're thinking about switching from Windows, just do it. Try dual boot first if you're scared. Give it a month. Things will break sometimes. You'll figure it out. Google helps. Arch Wiki has all answers.
Linux is worth it. No more Windows updates. No more bloat. No more WSL problems. Just a fast computer that works.
Bottom line: WSL = slow and broken. Linux = fast and works.
Ask me anything!
ThinkPad P14s Gen 5 AMD | Kubuntu 24.04 LTS | Happy coder




