🐧 Building My Own Linux Experience from Scratch – Why I Chose Debian + Qtile

🎯 What’s the Goal for Today?
Today, I’m starting something a bit different.
I’m diving into the customization of my own Linux system — not just theming or ricing, but crafting an operating system experience tailored completely to my workflow and needs.
But let’s get one thing straight:
There’s no such thing as a “Linux Operating System” in the traditional sense.
It’s all about how you build it.
So in this series, I’ll walk through:
Choosing the right distro
Going bare-metal (no DE)
Picking a tiling window manager
Configuring from the ground up
💡 Why Not Use a Prebuilt Distro?
Yes, I could go with something like Arch-based distros or even Ubuntu. In fact, I’ve tried:
Arch Linux: Loved the control but hated the time sink
Manjaro: A simpler Arch alternative with preinstalled GUI (used it for 5–6 months)
Ubuntu: Friendly but bloated, and the filesystem just feels messy
Despite that, I realized I wanted something stable, clean, and flexible.
So I settled on...
📦 Why Debian?
Debian stood out for a few clear reasons:
Rock-solid stability — it's battle-tested
Minimal install options — perfect for bare setups
Strong community & documentation
Compatible with most of my hardware, especially when used inside a virtual machine
Instead of using the full ISO (3.5GB), I opted for the NetInstall ISO — a smaller, faster way to build exactly what I want.
⚙️ No Desktop Environment – Just Bare Metal
Most people installing Debian will get the prompt to install a desktop environment (GNOME, KDE, XFCE, etc).
I skipped all of that.
This setup is bareboot.
No GUI. No bloat. Just a terminal, and the freedom to build from scratch.
I’ll be manually installing:
A window manager
A terminal emulator
A media player
A web browser
Because it’s 2025, and even purists need a browser.
🪟 Choosing My Window Manager: Qtile
I’ve dabbled in a few:
DWM – lightweight but too rigid
Wayland – cool tech, but complicated
Hyprland – still early and unstable for me
Ultimately, I chose Qtile, a Python-based tiling window manager that’s:
Fully scriptable in Python 🐍
Dynamic and visually pleasing
Extremely customizable
It's also something I haven't explored deeply before — which is exciting.
🚧 What’s Next?
Set up the virtual machine with bare Debian
Install and configure Qtile
Add essential tools: terminal, browser, and media tools
Tweak everything to match my workflow and aesthetic
🙋♂️ Want to Join Me?
If you’ve got ideas, tweaks, or better ways to do something — I’d love to hear from you.
Drop a comment or suggestion on this blog. I’ll feature interesting builds or tips in future posts.
Thanks for reading — and if you’re here, you’re already part of the journey.
Let’s build something cool.
Subscribe to my newsletter
Read articles from harsh tripathi directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
