TL;DR: Two of the most nicest, most technically proficient people you know just got burnt out from contributing to their operating system and this is just another example of NixOS being poorly maintained.
A year since I divested from NixOS and nothing really has changed. The "flakes" design is still a garbage abstraction invented by a neo-nazi to sell to Peter Thiel and Co. The Nix language has not evolved in any meaningful way (nixpkgs is still the load bearing peg).
Nixpkgs has reached over 1 million commits and is pushing what Git can scale to and is now entirely dependent on a Microsoft GitHub enterprise subscription and a Amazon AWS S3 credits for petabytes of CI/CD.
The community still contains active MIC fascists in leadership roles alongside :vote
Europeans. empoc perspectives are treated as community fracturing.
The nix derivations abstractions has not truly caught on (due to it not even being better than containers resource wise) and flakes only makes this worse with unversioned commit hashes serving as "determinism" and "reproducibility" which have become buzzwords at this point.
I only expect this to get worse and worse as Determinate Systems (MIC ghoul company) takes over and nixpkgs collapses as an independent entity.
BTW they haven't decided on a AI/LLM policy because the steering committee and the nixpkgs core team can't agree or communicate on anything, which basically means NixOS is going to be a AI hype train project if you enjoy that.
just curious about this, I've only looked at nix a little bit. isn't the constant rebuilding+data duplication a problem on the local machine? why petabytes of CI/CD? what are they doing with it?
Because not only do they keep a copy of the most recent versions but also many snapshots of versions before that.
Traditional distributions deliver software via software mirrors. So updates replace the existing software in-place and so is no longer accessible (this is why "apt update" and "apt upgrade" are semantically different). Sometimes archives are kept, sometimes not.
And given that NixOS uses strictly hermetic packaging, a change in a dependent package triggers a rebuild. Traditional distributions use dynamic linking to avoid recompilation but NixOS essentially statically links all software (compiled or not) via store path.
With the genuinely fascist flakes tooling (it was invented by a neo-nazi for big tech): now users and packagers can be expected to differ by commit basis which means literally nothing can be predicted by NixOS and so the NixOS cache service keeps many, many copies of packages so as to not mess anyone up.
NixOS almost went bankrupt from their cache service (which had a bill in the tens of thousands) and is utterly reliant on a AWS sponsorship.