I share why I left NixOS after using it for a while, what I'll miss the most, and why I ended up on CachyOS.
This wasn't a decision I made lightly, and it doesn't mean NixOS is bad. On the contrary, I love it. Still, I hit a point where being that declarative — where absolutely everything had to be done "the Nix way" — just wore me out.
The strong points of NixOS (what I'll miss)
The declarative superpower: Having a declarative environment guarantees I can replicate my system on any PC if I decide to wipe it. It's not the only good thing about Nix, but it gives you real peace of mind.
Automatic snapshots: Being able to roll back to a previous system image when something breaks is a delight. Zero panic.
Pinning
nixpkgsversions: This one fascinated me. Locking in a specific commit in myflaketo make sure everything works without surprises is a huge win.
If I liked it so much, why did I leave?
Look, NixOS is almost the perfect system for me — I have no complaints about its performance. The real issue is that, because it's such a closed environment (sandboxing) and strictly follows the Nix Way (breaking with the traditional FHS standard), configuring and declaring every single one of my dev projects became a chore.
Sometimes you just want to clone a repo and start coding without fighting the environment. I know I'll come back at some point; in fact, I left all my dotfiles nicely declared in a private repo, just in case.
Where am I now?
Before NixOS, I had already used Arch Linux for 3 years. This time, though, I didn't want to waste time configuring a clean install from scratch because I need to push my project, Notisian, forward as fast as possible. I don't have time to lose.
So I went with the minimal version of CachyOS. To manage the system, I decided to automate and declare everything using an agent to write my config files in dcli by TheBlackDon (and no, they aren't paying me for the mention xD). I know there are other options out there, but this one clicked for me simply because it uses Lua as its configuration language in the advanced version.
In the end, I landed the balance I was looking for: CachyOS's speed and optimizations, Arch's no-friction dev workflow, and a declarative touch thanks to DCLI (Lua).
You may also like
Review: 1 year with Emacs — the good, the 'bad' and the ugly
GNU Emacs is way more than an editor: it's a Lisp interpreter. Here's my year with it, Org-mode, org-roam, and why it became my main tool.
Read more
How's my English after all these years? My self-taught learning methods
I share the techniques that have worked for me to learn English on my own, from spaced repetition to immersion in online communities.
Read more
The advantages of using Astro for web development
We explore the main advantages of Astro as a modern framework for building static and dynamic websites.
Read more