← Back to Laboratory

OS Setup

My journey with operating systems started in the glow of a CRT monitor, running Windows XP on a chunky desktop that took up half my childhood desk. Back then, the OS was just a background character—something you tolerated so you could play games or tinker with Paint.

As hardware evolved, so did my setup: Windows 7, then 10, each on increasingly sleeker desktops and eventually my first laptop. Windows was familiar, reliable, and—at least for a while—felt like the only real option. But as I got deeper into programming, I started to feel the limits. I wanted more control, more transparency, and less bloat.

High school was my first real foray into Linux. I fumbled my way through Ubuntu installs, breaking things, fixing them, and learning more in the process than any textbook could teach. The world of distros opened up: I tried Kubuntu, Mint, Fedora, and then the pentesting distro Backbox for a year. Each one taught me something new about how computers work under the hood.

For a few years, Pop!_OS became my daily driver. It was Ubuntu-based, but with a polish and hardware support that just worked—especially on my 13" HP Laptop screen. I loved the COSMIC desktop environment for its workflow and usable design, and especially for its auto-tiling feature, which I still haven't found as polished anywhere else—it's unmatched for my mouse-driven workflow. But eventually, the itch for something even more customizable led me to Arch Linux. I only switched to Arch this year: bleeding edge, rolling release, and a wiki that’s both a lifeline and a rite of passage. I now run Arch (btw), still with COSMIC as my DE, but with every package and config under my control.

Now, this very webserver is running NixOS as an experiment. NixOS is a whole new paradigm: the OS, its configuration, and the data are all strictly separated. I define my system in a single config file, and can reproduce it anywhere, anytime. It’s made me rethink how I manage not just my servers, but my personal machines too. Keeping the OS, its config, and my data separate means I can upgrade, migrate, or even break things without fear—everything is reproducible, and nothing is lost.

Looking back, every step—from Windows on a CRT to declarative NixOS—has taught me something about control, flexibility, and the value of understanding what’s happening beneath the surface. The journey isn’t over, but for now, I’m happy to be running a system that’s truly my own.