Hi, I haven’t read this thread and I don’t really care to read all of it. I’ve always intended to get back into the Nix community after the issues with community management are sorted to my satisfaction. If jonrigner gets his commit bit back, I’m gonna be gone for good. Create whatever future you want to live in. Be well, Xe EDIT: Looks like his commit bit got back anyways. So long, and thanks for all the fish.
They invited that guy back. I do have to admit, I admire his inability to read a room.
the most important thing a moderator on this hostile network has to take responsibility for, above and beyond all technical concerns, is ensuring that fascists and their absolute bullshit do not have carriage on any system they control. I’m fucking done pretending this isn’t a basic expectation. anyone who has the ability to remove fascists from their community and doesn’t is responsible for what will happen.
I have about a fuckload of Nix code I need to release. awful.systems still runs on NixOS after all, and I’ve gotten very good at writing Nix — and far too reliant on it. I’ve been neglecting finishing those projects and a fair few infrastructural tasks for our instance because my gut and my heart won’t let me contribute to an ecosystem that has repeatedly gone out of its way to empower fascists and abusers, to the detriment of a frankly ridiculous number of extremely talented contributors who got pushed out of the project — which is what happens to every community, every time the folks trusted with the ability to moderate decide to give the fascists a pass.
I’m still chewing it over, but it feels like samueledr’s got about the right idea. I’ll release my code here for our (very vocally anti-fascist) purposes, but I’ll take steps to make sure it’s poisoned against being integrated into the current form of the Nix ecosystem. if Aux, Lix, or any other anti-fascist Nix offshoot finally wants to step up and start an ecosystem worth contributing to, my projects will be available to them.
I’ll release my code here for our (very vocally anti-fascist) purposes, but I’ll take steps to make sure it’s poisoned against being integrated into the current form of the Nix ecosystem
I’ve been trying to background-ponder what measures could work for this sort of thing. classical hindrance methods such as code obfuscation are counterproductive to debugging and dev work, and strongly tying code to its runtime has other problematic implications. licensing alone isn’t sufficient because you need the ability to actually do something from those terms (whether lawyers or …), and doubly so because these fucking awful human beings do not actually care and will tread over any license terms as long as they benefit, and will use power to defend their actions.
oldmanshakesfistatcloud.bmp for trusted computing still being so damn nascent -_-
wish I had more fucking spoons to research this shit properly :|
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.
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.
that is true! there’s a ton of Nix stuff I’m keeping entirely personal now too. my projects fall into roughly three categories:
awful.systems infrastructure and its offshoots. this is the stuff that really needs to be released, because the administration of this instance should be as public and replicable as possible.
projects that use Nix as a build and environment setup tool. these should see the light of day too since they have value outside of Nix, but unfortunately most of them don’t build without Nix, and (because Nix is technically excellent) there’s usually no easy replacement for it. this particularly includes some of my hardware projects: I use Nix to keep modified embedded firmware, cross compilation tools, and userland images in sync, and it fulfills a similar role (from the ground up) for my lambda calculus reducer project, but there it manages HDL dependencies too. as far as I know there’s no tool* that does what Nix does here.
projects that pertain to how I use and deploy NixOS systems. these shouldn’t see the light of day. these include personal deployments, usability libraries, embedded system flakes, and flakes that deploy reusable Nix appliances. the biggest part of this is the NixOS sub-distro that I use on my desktops and laptops; it features a doom emacs UI, a ton of fixes to make EXWM work more reliably, and a few other services that make NixOS work generally more like a lisp machine (and which make elisp work more like Nix). a lot of these systems have upstreamable fixes I haven’t bothered with. again, this is an area where it feels like there’s no* real substitute for NixOS.
[*] 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:
The package collection is an enormous effort with hundreds of thousands of commits, encoding expert knowledge about lots of different software and ways of building and managing it. It is a very valuable piece of software and we must be able to reuse it.
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.
samueledr has left the project in response and their parting message pretty much sums it up
the most important thing a moderator on this hostile network has to take responsibility for, above and beyond all technical concerns, is ensuring that fascists and their absolute bullshit do not have carriage on any system they control. I’m fucking done pretending this isn’t a basic expectation. anyone who has the ability to remove fascists from their community and doesn’t is responsible for what will happen.
I have about a fuckload of Nix code I need to release. awful.systems still runs on NixOS after all, and I’ve gotten very good at writing Nix — and far too reliant on it. I’ve been neglecting finishing those projects and a fair few infrastructural tasks for our instance because my gut and my heart won’t let me contribute to an ecosystem that has repeatedly gone out of its way to empower fascists and abusers, to the detriment of a frankly ridiculous number of extremely talented contributors who got pushed out of the project — which is what happens to every community, every time the folks trusted with the ability to moderate decide to give the fascists a pass.
I’m still chewing it over, but it feels like samueledr’s got about the right idea. I’ll release my code here for our (very vocally anti-fascist) purposes, but I’ll take steps to make sure it’s poisoned against being integrated into the current form of the Nix ecosystem. if Aux, Lix, or any other anti-fascist Nix offshoot finally wants to step up and start an ecosystem worth contributing to, my projects will be available to them.
I’ve been trying to background-ponder what measures could work for this sort of thing. classical hindrance methods such as code obfuscation are counterproductive to debugging and dev work, and strongly tying code to its runtime has other problematic implications. licensing alone isn’t sufficient because you need the ability to actually do something from those terms (whether lawyers or …), and doubly so because these fucking awful human beings do not actually care and will tread over any license terms as long as they benefit, and will use power to defend their actions.
oldmanshakesfistatcloud.bmp for trusted computing still being so damn nascent -_-
wish I had more fucking spoons to research this shit properly :|
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.