28
Nix project: ban? What ban?
(discourse.nixos.org)
this is FreeAssembly, a non-toxic design, programming, and art collective. post your share-alike (CC SA, GPL, BSD, or similar) projects here! collaboration is welcome, and mutual education is too.
in brief, this community is the awful.systems answer to Hacker News. read this article for a solid summary of why having a less toxic collaborative community is important from a technical standpoint in addition to a social one.
some posting guidelines apply in addition to the typical awful.systems stuff:
(logo credit, with modifications by @dgerard@awful.systems)
You don't have to release anything. Most of my flakes are on private storage in my homelab, including my homelab configuration, and I don't feel any obligation to contribute anything upstream right now.
Don't let them take the Nix language from us. Focus on what's important: nixpkgs can be forked trivially and everything will continue to work, because that's the point of Nix. They can't disempower us other than by insisting that we don't have voices on their committees.
that is true! there’s a ton of Nix stuff I’m keeping entirely personal now too. my projects fall into roughly three categories:
[*] guix would work fine (and for the sub-distro it’d have an advantage in that everything would speak Lisp), but given the sheer fucking number of GNU shitheads I’ve seen supporting Jon, switching from Nix to Guix feels a lot like moving out of your abusive parents’ house so you can rent out your abusive parents’ guest house
and the fridge in the guest house has a lock on the freezer so you can’t have ice cream, but don’t worry, nobody will notice (for now) if you remove the lock with some bolt cutters
I’m willing to be wrong about guix — I really want a reasonable out from the current Nix ecosystem — but this doesn’t feel like a healthy choice
Agreed that releasing stuff isn’t necessary, especially stuff propping up the ecosystem.
Unfortunately, I think the rest of your statements are exactly inverted: the nixpkgs repo is pretty difficult to fork (moves fast, needs expensive CI/caches to properly operate), and while we may still have the nix expression language (and hey, lix is a good implementation of it!), I’m getting more and more convinced that it is not such a blessing.
The phd thesis though, that one is pretty good (currently reading it for realsies); lots of good ideas in it, regardless one’s thoughts about the expression language (:
beyond anything technical, the question that’s been burning up my hope is:
why in fuck was this such an easy win for the techfash shitheads operating in the open?
seriously. these fuckers employed the most obvious tactics imaginable to damage the Nix community beyond repair, and it worked. it wasn’t even hard for them to come fuck up the only enjoyable tool I use.
and hardly anybody even managed to tell them no in a way that fucking mattered. the Nix governance changes were an obvious ploy that everybody fucking bought into! and I thought I was being fucking unfair for thinking this’d be the exact outcome!
and somehow, after all this bullshit happening in the open, there’s no viable fork? Aux got right to the edge of it — one of my systems ran auxpkgs without much trouble — then they let a bunch of bad faith assholes steer the project away from that, and now I don’t know what Aux is, but it’s not focused enough for me to contribute to.
the only ones who successfully said no were Lix, so the Nix language will survive! and as you pointed out, as it is right now that’s not great. it’s a lot like elisp — it’s janky as fuck but there’s a couple things it does uniquely well. unfortunately, the folks in control of nixpkgs control the Nix standard library, and they’d prefer the language remains obscure and janky. in short, these fucking jackasses want Nix to become as hard to use as Urbit, because it’s very easy to turn a priesthood of experts with obscure knowledge into a right-wing think tank. I’m sure it works even better if, unlike with Urbit, the underlying technology actually fucking works.
For this reason, Tvix (a modular Nix implementation) cites compatibility with nixpkgs as one of their goals:
https://tvl.fyi/blog/rewriting-nix
Yup, there are a few efforts out there like that, I would group aux and lix in with them, as ecosystem-compatible parts.
My feeling these days is that the ecosystem is kinda screwy on a fundamental level, and I’m willing to blame the unhealthy focus on “purity” (both the word and the concept) for a good part of that. The language you use to define packages and systems doesn’t need to be lazily evaluated and purely functional; nothing needs to be, that is a lesson freely available to be learned coming out of the early 2000s.
Anyway, here I am slowly reading through the doctoral thesis, picking out the (several) grains of corn that make up the really good and solid ideas that make it a useful system; maybe a thing can be made that adds a bit of pragmatism… and then a lot of effort can be poured into that, unpragmatically.