I (don't) use Arch (anymore), btw
For years, Arch Linux was my daily driver. Its rolling release model, minimalism, and the power of the Arch Wiki made it a favorite among tinkerers and those who wanted full control over their systems, such as myself. I enjoyed the freedom to customize every aspect of my setup, and the AUR provided access to nearly any package I could imagine. However, as my projects grew and my requirements became more complex, I started to notice the cracks in my workflow.
Arch’s flexibility comes at a cost: maintaining a stable and reproducible environment can be challenging. Updates occasionally broke my workflow, and I found myself spending more time troubleshooting than actually working. While this is part of the Arch experience, it became increasingly frustrating when I needed reliability for development and university projects. I wanted a system where I could experiment without risking my main environment, and where rolling back changes was straightforward.
This is where NixOS entered the picture. NixOS’s declarative configuration model was a revelation. Instead of manually tweaking dotfiles and package lists, I could describe my entire system in a single configuration file. If something went wrong, I could simply revert to a previous generation. This level of reproducibility is invaluable, especially when working on multiple machines or sharing setups with collaborators. For example, setting up a development environment for a new project became as simple as copying a configuration file and running a command—no more hunting down dependencies or mismatched versions.
NixOS also solved another pain point: package management. The Nix package manager isolates dependencies, making it possible to run different versions of the same software side by side. This is a game-changer for development, where conflicting requirements are common. On Arch, I often had to resort to containerization or virtual environments to avoid polluting my system. Or just straight up go to dependency hell. With Nix, these problems simply and magically disappeared.
Of course, NixOS has its own learning curve. The configuration language is different, and the ecosystem is less mainstream than Arch. But the amazement far outweighs the initial doubts. My systems are now more stable, reproducible, and easier to maintain. I spend less time fixing breakages and more time building things that matter. And best of all, I can manage the fleet of my (and my families') systems with ease. And have a central and reproducible configuration for all of them.
Switching from Arch Linux to NixOS wasn’t just a technical decision. It was about reclaiming my time and sanity. I still appreciate what Arch taught me, but for my current needs, NixOS is simply a better fit.