I Built an OS (And it Nearly Broke Me)

Building a custom Linux distribution is rarely a straight line. It’s a series of “What if I tried…” moments that usually end in a broken ISO or a kernel panic.

If you’ve ever wondered why someone would bother building their own OS from the ground up, here is the messy, honest story of how Stygian OS came to be.


The “Frankenstein” Phase: Mint & Ubuntu

I started with a clear vision: I wanted the Cinnamon desktop on a rock-solid base. Naturally, my first instinct was to use Linux Mint as a foundation.

  • The Struggle: I used a tool called Cubic (Custom Ubuntu ISO Creator) to tear into the Mint ISO. It worked, but it was a branding nightmare. Mint uses the Ubiquity installer, which is notoriously difficult to “reskin” for a custom project. No matter what I changed, the “Mint” DNA was everywhere, and it just didn’t feel like mine.

  • The Pivot: I tried building from an Ubuntu Server base—essentially a blank slate—and adding the desktop and installer manually. It sounded perfect in theory. In practice? Everything broke. Getting a functional live-boot environment to talk to a desktop environment from a server base is a dark art I hadn’t yet mastered.

The Roadblock: The Debian Dilemma

Next, I looked into Live-Build, the “official” way to build Debian-based systems. While it’s powerful, it presented a major philosophical and technical roadblock: Package Freshness.

  • The Version Lock: My understanding was that Debian “Stable” focuses on extreme reliability by locking package versions. Once a version is released, it typically only gets security patches, not feature updates. For a “just for fun” desktop project, this felt too restrictive. I wanted a base that stayed a bit more modern without me having to manually backport every single app.

  • The Complexity: Making Debian “open” enough to feel like a modern, user-friendly desktop was a heavy lift for a solo developer. Managing repository architectures and security policies felt less like building a fun OS and more like writing a thesis.

Finding the Sweet Spot: Lubuntu

The breakthrough came when I looked at Lubuntu. It wasn’t because of the desktop (LXQt), but because of the Calamares installer.

Calamares is the gold standard for independent distros. It’s modular, modern, and—most importantly—much easier to brand than Ubuntu’s default installer.

  1. The Gutting: I took Lubuntu, stripped out the LXQt desktop entirely, and replaced it with Cinnamon.

  2. The Branding Battle: This is where things got technical. I had to tackle Plymouth—the “boot splash” screen you see when you first turn the computer on. I spent days fighting Ubuntu-specific configuration quirks just to get the Stygian logo to show up without a flicker.

  3. The Grub & Login: I moved on to branding the GRUB menu (the black screen where you pick your OS) and the login manager. Every step was a lesson in which config files Ubuntu hides from you.

The Epiphany: The “Welcome App”

One of my biggest frustrations was pre-installing apps. Many Linux applications won’t install correctly unless a specific “User ID” and home directory already exist—things that don’t exist until the user actually installs the OS and reboots.

I realized I couldn’t just “force” everything into the ISO. Instead, I built a First-Run Welcome App. By having this app load on the very first login, I could let the system create the user properly first, then handle the heavy lifting of setting up tools and layouts. It turned a technical limitation into a feature that helps users customize their desktop immediately.


Why the name “Stygian”?

It started with a visual idea: a dark, moody river. I spent some time on Thesaurus.com looking for variations of “Dark River” and “Underworld.”

When I hit Stygian, it clicked. It sounded powerful, mysterious, and unique. That led naturally to the logo: Charon, the ferryman of the River Styx. He represents the transition from one world (Windows/Mac) to another (Linux).

What’s Next?

Why do this? Honestly, because I’ve always wanted to. There is a specific kind of satisfaction in seeing your own logo on the boot screen of a functional operating system.

As for the future? I’ve looked at Linux From Scratch (LFS)—the playbook for building a Linux OS without a base like Ubuntu or Debian. It’s a massive undertaking, but maybe one day I’ll follow that path to build Stygian “the right way” from the very first line of code.

Until then, I’m just happy to be the ferryman.