It’s finally ready for mass adoption, IMO. Also, things take a long time to catch on and now that flakes are fairly stable and a lot of pedagogy is popping up in the form of other people’s configs (and the documentation is being actively improved to hopefully someday meet the high standards of Arch), people feel empowered to try it out.
IOG uses it for their entire stack which is packed with incredibly solid (IMO) software engineering decisions from top to bottom.
I tried it because I wanted to run a Cardano stake pool and develop DApps for the Cardano ecosystem. Their build-from-source instructions made me realize how much better it would be to install it with Nix instead of the cargo cult/curse of the current era, a Docker container.
Totally agreed. That’s a big ask, though, because Arch’s docs are the gold standard.
I’m working on converting to impermanence mode this week and let’s just say I’d be done by now if the answers were even close to the quality found in Arch’s wiki.
Yeah, I think the network effect is a big part of it. People start seeing nix configs being used for projects, and nixos config examples are getting easier to find.
They’re the company that created Cardano. They’re well-respected for their code quality and the use of formal methods and academic peer review to develop their software. They started out an enemy of most Haskell devs then won many over with their massive open source contributions to the Haskell developer experience. Their Nix based Haskell dev environment is THE best way to use Haskell with Nix.
They used to be called IOHK or Input Output Hong Kong which is still reflected on their GitHub.
No way. It's still a specialist OS. There's no way I'm putting this into the hands of a linux newbie or even the average linux user. There config still doesn't have a UI, the flakes vs non-flakes debate is still in full swing (nixpkgs doesn't have flakes), the doc is far, far, far from user friendly, writing a nix package is still not easy, and so much more.
Nix for sure was (and probably is) ahead of its time, but the UX is amongst the worst I've experienced - and I've written init and upstart services and configured my network with ipconfig before networkmanager was stable.
Mass adoption doesn't necessarily mean Linux newbie. NixOS seems to be targeting the DevOps crowd with its stability/immutability -- that is, people who would be comfortable building their system from a config file that doesn't have a UI. They're already basically doing that with other tools.
Did you just post a license for your humblebrag soapbox rant about NixOS?
Edit: I’ll leave some points where I agree since you’re very fixated on/preoccupied with who won this debate (or something). In the long run, most Nix users are wishing for a complete rewrite of NixOS with Nix’s modern approach codified as standard. After all, to your point, Nix is just a massive pile of Perl and Bash under the hood. It could unquestionably be more capable if they had the benefit of hindsight (or a proper type system built into the language) like GUIX which uses Scheme as their DSL has. AFAIK, though, Nix flakes are a feature that GUIX badly needs.
For GUIX: Does anyone know about content-addressed derivations in GUIX? I figure that might also be a place where Nix bests GUIX but perhaps some GUIX(pronounced geeks) can correct me before I search for answers.
Containerization / declarative configuration management / reproducible builds / immutable distros are hot right now because people have for a long time been sick and tired of their shit breaking when they upgrade, and are starting to realize that encapsulating changes in atomic transactions and keeping track of them better is a better way of doing things.
In other words, NixOS is riding the wave generated by the popularization of stuff like Docker, Ansible, CI/CD, etc.
Containers are now ubiquitous and people wanted their systems to be similarly easy? Silverblue/similar immutable OSes fizzled out and people started trying NixOS? Probably many factors, to be honest.
Personally, I needed a new OS for my gaming computer, and I decided to experiment with NixOS after having tried Silverblue in the past.
Don't forget that silverblue in the launch was a pain in the ass, because of applications not adopting portals and flatpak, so you needed to layer a lot of things, that wouldn't work because it uses /usr (that's read only) or scripts that do the same thing, since them a lot of things got modernized
I installed it when it finally had an installer and I've been using it for a couple of years. I think that was the final thing to push it into mainstream (of Linux distros, widely known in narrow circles so to speak)
Growth have been fairly organic . number of contributors grew by 28 percent this year. there are a lot of users so given that a percent of them will do some form of advocacy that will probably lead to more users and there will be a relatively large amount of people saying they adopted it.