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 :votevote 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.

  • hello_hello [hy/hym]@hexbear.netOPM
    link
    fedilink
    English
    arrow-up
    14
    ·
    1 month ago

    Guix handles this by implementing a “graft” procedure that manually remaps package store paths to patched software rather than rebuilding the package again. It’s “impure” but it was developed in an environment where maintainers do not have fuck you money to spend on AWS/GitHub.

    NixOS leadership will never find two stones to figure out how to do this and that’s just the saddest thing doggirl-gloom

    • imogen_underscore [it/its, she/her]@hexbear.net
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 month ago

      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?

      • hello_hello [hy/hym]@hexbear.netOPM
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 month ago

        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.

        • forking nixos is really trivial since the entire OS is one repo. IMO the cache is supposed to act like a moat to push contributors towards nixpkgs. flakes in many ways facilitate fracturing the ecosystem because its easier to compose your own spin. I’m pretty sure that’s how DetNix was able to slowly move off of nixpkgs. Maybe its malicious, but channels basically force you to build your own parallel infrastructure. Flakes have many flaws, don’t get me wrong, and I don’t think they should be in core, but they aren’t useless.

          I think NixOS could be managed in a more traditional way to lower the hosting cost. These guys are wasteful because there’s very little pressure to optimize their setup. Nix facilitates waste to an extent, but most software is inefficient unless you take steps to fix it.

          For my tiny nix distro, I’m perfectly happy asking my users to compile and cache their entire own shit a la gentoo. I’m treating the cache as a nice-to-have. Hopefully some day the Lix community will come up with a cooperative cache proposal (maybe based on trustnix and bit torrent or yggdrasil) that’s both scalable and secure.

          • hello_hello [hy/hym]@hexbear.netOPM
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 month ago

            Idk if NixOS can really downscale like that (or that has any desire to as you said). In any case, the main issue is the lack of leadership to change the status quo. So inevitably the status quo shifts to Detsys run by fascist collaborators who still get to leach off 1000s of hours of collective unpaid labor each year while selling NixOS to startups and venture capital firms (I mean that AI use thread on nixpkgs got really stinky).

            I still miss Nix as a technology (containers are relatively painful), but I can’t on good conscience continue to use a operating system whose own conscience is being subsumed by techbros and fascist bystanderism. Nixpkgs being in this awkard linchpin spot of having all the political inertia but being hopelessly civility lib isn’t great either.

            I’ve spoken before to maintainers like K900 (iirc who is part of the steering committee) and things like git infra independence is not possible for nixpkgs as it’s on track to be the largest git repository (forgejo crashes at the size of nixpkgs and github was struggling before the enterprise sponsor). Nix Floral (the lix folks) also have zero plans to recreate nixpkgs due to the same cost/political fracturing.

              • hello_hello [hy/hym]@hexbear.netOPM
                link
                fedilink
                English
                arrow-up
                2
                ·
                13 days ago

                Guix will be less reactionary just purely on the virtue of not being hard carried by GitHub enterprise and a bottomless well of AWS storage and compute sponsorships. So many bad decisions made in NixOS were made because the project never actually had to innovate in the face of logistical hardship.

                Everyone can get a flake that’s pinned to hundreds of different versions of nixpkgs because the binary cache will never penalize them for it.

            • Ye I hear you. My setup is big enough that I can’t realistically move off NixOS, except to something nix-like. I am interested in following along with lix, and I don’t mind if I have to package a lot of my own stuff. I’ll even lend a hand, honestly. I haven’t so far because nixpkgs is there, but I see the writing on the wall and I don’t want anything to do with Anduril and their allies in DetSys.