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

"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

FeatureWindowsmacOSUbuntuArch 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, and btop 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.

0
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.