Switching from Windows to Arch: Embracing a Lightweight, Terminal-Focused Development Environment

Table of contents

"If you want something done right, do it yourself." — Every Arch user, probably.
👋 Introduction
Like many developers, I started my journey on Windows. It was familiar, convenient, and "just worked"—until it didn't. Later, I jumped onto the Apple bandwagon, attracted by its sleek hardware and a Unix-based system under the hood. Eventually, I found myself exploring Linux, hopping from one distribution to another before settling on Ubuntu.
For a while, Ubuntu served me well. But over time, things began to feel bloated. As I shifted more and more of my development workflow into the terminal—especially after switching to Neovim—I realized I no longer needed a heavyweight desktop environment slowing me down. So I took the plunge into something leaner, meaner, and more customizable: Arch Linux, initially in a virtualized environment via QEMU and libvirt.
Here’s what I discovered.
🧓 Legacy Systems: Windows & macOS
🪟 Windows
Pros: Great hardware support, extensive software ecosystem, beginner-friendly.
Cons: Weak native terminal experience, poor Unix compatibility, bloated system, and frustrating update cycles.
🍏 macOS
Pros: Unix-based, strong terminal support, excellent design, and dev-friendly (especially for web dev).
Cons: Expensive hardware, less customization, heavy GUI focus.
Both had their merits, but neither felt like "mine." I was ready for a system I could mold to my needs.
🐧 My First Steps into Linux
Linux opened a whole new world. I tried several distributions, eventually choosing Ubuntu for its simplicity and large community.
✅ Pros: Easy installation, lots of packages, excellent docs.
⚠️ Cons: The GNOME desktop became sluggish over time, system updates occasionally introduced bugs, and there was too much running that I didn’t need.
Ubuntu gave me a taste of freedom. But I wanted more control.
💻 Embracing the Terminal-First Mindset
The biggest shift came when I stopped using GUI-based IDEs like VS Code and PHPStorm. Enter Neovim, my now-beloved terminal-based editor.
This change made me question everything: Do I still need a graphical desktop? Do I need animations, bloated startup processes, or any background services I don’t use?
Spoiler: I don’t.
🚀 Enter Arch Linux
With Arch, I’m building a system from the ground up, tailored to exactly what I want.
Initial Impressions:
⚡ Lightning fast boot and response times
💎 Clean, minimal, and distraction-free
🎯 Total control over what’s installed
Downsides:
🧠 Steep learning curve
🛠️ You break it, you fix it (but that’s also a plus)
I installed it in a VM using QEMU + libvirt, so I could experiment safely. And honestly? It felt empowering.
📊 Quick Comparison Table
Feature | Windows | macOS | Ubuntu | Arch Linux |
Terminal Power | ❌ Limited | ✅ Good | ✅ Very Good | ✅ Excellent |
Resource Usage | ❌ Heavy | ❌ Medium | ⚠️ Increasing | ✅ Minimal |
Customizability | ❌ Low | ⚠️ Medium | ✅ High | ✅✅ Extreme |
Learning Curve | ✅ Easy | ✅ Easy | ✅ Moderate | ❌ Steep |
Rolling Release | ❌ No | ❌ No | ⚠️ Semi | ✅ Yes |
Package Control | ❌ Poor | ⚠️ Limited | ✅ Apt + PPA | ✅ Pacman + AUR |
✅ Why I’m Considering Switching Full-Time
🧠 I understand exactly what’s running on my system.
🚀 Startup and build times are dramatically faster.
🎨 My workflow is now terminal-native—it just makes sense.
🧰 Tools like
zsh
,tmux
,starship
,lazygit
, andbtop
shine even brighter on Arch.
I don’t need flashy UI anymore. I need speed, consistency, and freedom.
❌ The Catch: Arch Isn’t for Everyone
Let’s be honest:
You’ll Google a lot.
Updates can break things (though rarely, if you’re cautious).
Arch assumes you know what you’re doing—or are willing to learn.
But if you enjoy understanding how your system works, and don’t mind getting your hands dirty, it’s a deeply rewarding experience.
🧠 Final Thoughts
I’m not here to say Arch is better. I’m here to say that Arch is better for me, for the way I work and the tools I use.
If you’re living in the terminal, why carry the weight of a desktop?
Start in a VM. Break things. Learn. Tweak. Reinstall. And when it finally clicks, you’ll wonder why you didn’t switch sooner.
PS: If you’d like to see my full setup (dotfiles, Neovim config, etc.), let me know. I’d love to share!
🧑💻 Written by a dev who finally said goodbye to the bloat — and hello to freedom.
Subscribe to my newsletter
Read articles from Jean-Marc Strauven directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Jean-Marc Strauven
Jean-Marc Strauven
Jean-Marc (aka Grazulex) is a developer with over 30 years of experience, driven by a passion for learning and exploring new technologies. While PHP is his daily companion, he also enjoys diving into Python, Perl, and even Rust when the mood strikes. Jean-Marc thrives on curiosity, code, and the occasional semicolon. Always eager to evolve, he blends decades of experience with a constant hunger for innovation.