• hello_hello [undecided, comrade/them]@hexbear.netM
    link
    fedilink
    English
    arrow-up
    22
    ·
    edit-2
    1 month ago

    NixOS is an amazing operating system. NixOS is a terrible community.

    • No hosting sovereignty. The NixOS code repositories are entirely reliant on Microsoft GitHub for both hosting and compute and recently got a github enterprise grant, so when Microsoft eventually sanctions the global south there will be no nixos anymore outside of the imperial core.
    • incredibly wasteful, NixOS hosts petabytes upon petabytes of binary packages with yearly costs only covered by again, grants by AWS because the entire cache is hosted on AWS.
    • the reason this waste is created is because there is no community organization on topics such as content - addressed derivations and de-facto dictatorships of terrible ideas like nix flakes.
    • nix flakes are an objectively terrible format created by a neo Nazi to sell to american terrorist organizations like anduril. It basically is a shitty npm slop lock file that just brute forces everything by commit sha and doesnt actually align with what Nixpkgs does which are stable releases and rolling releases. Anyone who thinks flakes are good doesnt actually understand nix and is probably a Nazi because the only people who defend flakes are out of touch hype bros and Nazis.
    • community has been taken over by centrist libs and palantir worshippers. Either get online microagressions by people who want to build missiles to kill Russia and Iran or get tut-tutted by euro libs who think the same thing but feel embarrassed by the former group.

    Use Guix, they are the only successor to the Nix idea, of course unless you are a bay area techbro who has fuck you levels of bandwidths and SSD writes when you checkout 100 different flakes with 100 different nixpkgs.

    I use fedora, which despite literally being a community backed by IBMs interest at least doesnt force me to log onto github dot com and inject me with weapons grade copium of going mainstream.


    This person is cool though, I watch their stuff because the linux hobbyist space is dominated by a cis white sausage fest.

    • I probably need to learn more about channels, but I’ve been using flakes for a nix based project that I’ve been doing just because it makes it easier to compose different pieces of nix code without having to fork the nix packages repo, which is way too big for my scale to manage. I know there are issues with flakes, conceptually and from an organizational perspective, but there are some things that I like about them, that I wish were tractable, otherwise, mostly just due to how huge nixpkgs is.

      I would like to break nixpkgs down into base system, desktop, and then some specializations for different types of server applications. Maybe it could just be one thing there, though. I would also like to replace the huge CDN approach that nix upstream uses with a distributed trustix-inspired peer to peer bit torrent setup.

      That said I’m not really attached to flakes, they just seemed approachable. I didn’t learn about the endural connection until after I’d already built a bunch of stuff lol

      Depending on how much work finishing my objectives is, it may be worth switching to guix, but i am not a non-free purist. So there’s definitely gonna be some friction with my distribution, either way, I guess. Since Lix is also opposed to flakes I’m really going against the grain in some areas.

      • hello_hello [undecided, comrade/them]@hexbear.netM
        link
        fedilink
        English
        arrow-up
        2
        ·
        5 days ago

        it may be worth switching to guix, but i am not a non-free purist.

        The upside of Guix’s thoroughness is that every package must be compiled from source, so this means that there are no random blobs or binary bootstraps scattered around like there is in nixpkgs.

        that I wish were tractable, otherwise, mostly just due to how huge nixpkgs is.

        Nix flake boosters love talking about how “reproducible” they are until you realize their solution to version pinning is to copy the entire package world, which is akin to cutting down a tree with a nuke. This is a well known problem even given the community name “100 pinnings of nixpkgs” and no one wants to shake the hornets nest.

        Guix instead maintains its world as a git repository in the system so every user is compelled to have the latest Guix checkout and then use pinnings on packages themselves and not the entire package set.

        Definitely recommend trialing Guix as much as you can, I don’t really have any hope in NixOS since the org is so unwilling to break the silence on anything technical or community related. Also they recently obtained an enterprise grant for GitHub so you can see where their priorities and values lie.

        • I do like the approach that lix and aux are seemingly working towards where there are smaller independent package collections that get linked together somehow. I’m not sure how that would all work, but I do think it’s important to keep build size down to something a few motivated individuals can compile on affordable machines. Without something like trustix you inevitably end up needing a huge centralized build farm and CDN to have a useful binary cache. IMO that’s the main obstacle to making a viable community driven nixos alternative.

    • invalidusernamelol [he/him]@hexbear.net
      link
      fedilink
      English
      arrow-up
      7
      ·
      1 month ago

      Second Fedora. The atomics are close enough to Nix style, and while it is maintained by Red Hat/RHEL, I don’t think the community versions are as deeply dependent on industrial “partnerships” as Nix is.

        • TheModerateTankie [any]@hexbear.net
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 month ago

          When I was testing out nix, and while it is more flexible and powerful, I ended up with a system that is pretty similar to how the atomic distros work.

          I would essentially have a stable custom system, and then install everything I could at the user level with home-manager, which I think is best practice? It’s annoying to have to rebuild everything when you install at the system level, anyway.

          The atomics operate in a similar way. There is the system layer, which is basically a docker container, and then a user layer where you install whatever via flatpaks for gui’s, homebrew for cli’s, distrobox for anything not on either, or layering for programs that need system level access to work properly.

          You can customize the base installation similar to how you can with nix, but instead of using the nix language it’s customized like you could with a docker container. The biggest difference is that it’s harder to customize the system layer because it requires github (although I think people have been able to do a self-hosted setup), and there is no nix-language equivalent for the config files.

          Both are stable, and both allow you to fall back to a working setup if you bork something.

          Both encourage containerized workflows, although nix can do that in a unique way with dev environments per directory.

          In the end the atomic distros like bazzite set up everything close enough to how I would personally that it wasn’t worth messing around with nix.

        • invalidusernamelol [he/him]@hexbear.net
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 month ago

          The atomics are immutable, so you have to layer the packages on your base image. It’s not fully the same as NixOS, but it’s functionally similar since the OS is imaged every time you install something.