An opinion on Nix and NixOS

2025-06-24 More clickbaity title: The true power of the Nix ecosystem

Over the year or so of my time spent with Nix and NixOS, i've got to see nearly everything, both good and bad, that the ecosystem as a whole can offer.

I've read the dramatic posts arguing for and against flakes, I've trudged through the terrible initial user experience, I've been misled by an old forum post or an outdated wiki article. I've gone from a simple, two-service server setup on a box I didn't want to fiddle with too much to having everything, my m2 macbook included, run NixOS, and being able to write and modify my own derivations.

That is to say, I think I've seen most of the ecosystem. I know what It has to offer. I've also seen what people tend to praise about Nix. Most tend to praise the size of nixpkgs, some cry greatness about it's rollback-ability, some love the concept of flakes, the overwhelming reach of the ecosystem.

I.. disagree with most of these people. As in, their praise.. is somewhat misplaced. End of the day, someone had to write those configs up, someone had to define that flake, someone had to figure out how to go from zero to finished derivation and/or module. Nixpkgs is huge not because it's package manager is somehow magical, or has some killer feature or something like it.

What i've spent the last 250~ words trying to get at is, Nix isn't great because it has a huge repository of software or modules, it is great because it has a huge amount of maintainers.

Software maintainers, repository maintainers, module makers. People who actively participate within nixpkgs, people who write their own flakes, so on and so forth. The Nix ecosystem, be it through deliberate design or pure accident, encourages active contributors to itself through it's use. From day one, every single user has to take their first steps by learning the very same language that the most senior core maintainers are using. There is a very gradual curve that turns anyone with enough space in their brain into someone who can understand packaging. I know this as someone who has never contributed to any larger software repository in my life, has no clue how apt or pacman work, but through sheer exposure finds themselves able to contribute to nixpkgs.

And such is my conclusion. When everyone with half of a brain becomes someome capable of adding to Nixpkgs and the Nix ecosystem, then it's no wonder that nixpkgs has become the largest software repository in the world, with who knows how many additional 3rd party flakes written on top.

All of the benefits of Nix are symptoms of the amount of people working on it, which is a symptom of the fact that any interaction with Nix is one that contributes towards someone's ability to contribute back.

... If there's a lesson to learn here, then it's this: If you want to build a good community of creators around anything, encourage active participation through good tooling design. You know you've struck gold when using a system requires the same knowledge as building it.