The Nixpkgs core team has unfortunately decided to disband. We’re proud to have had the opportunity to lead by example in bottom‐up, consensus‐focused governance for Nixpkgs, and of our achievements over the past 10 months, including reforming the committer delegation process and onboarding 19 new committers, empowering maintainers by extending the merge bot, re‐establishing contact with GitHub and securing the sponsored Enterprise Cloud upgrade, helping triage GHSA-67f2-674w-6g63 and track the...
NixOS is a distro with cool tech where you declaratively configure your entire OS and can regenerate it from a single file. There’s some other benefits too.
Nix is filled to the brim with drama and dysfunction, and has been for years. This is probably another case of people burning out trying to unfuck the dysfunctional city of the project, although it could also just be drama.
What this means is you either groan and ignore it, rant about it, or grab some popcorn.
Pretty much this, but let me expand, as someone who got into it a few years ago, went all in for a while, realized the dysfunction you’re talking about was pretty serious and bad, and completely moved on from it, with the possibility of embracing Guix somewhere down the line…
What made me try it out: I listen to several podcasts about FOSS (hack ptui fuck Open Source), and one of them uses (used?) NixOS on their production streaming server, their OBS Studio machine. On that sort of device, you very often will get a stable configuration and then avoid upgrades and updates for as long as you can.
The nature of NixOS, though, means that you can mess around on that sucker all you want, completely wreck the bastard, and to get it back all you do is select the last-known-working build from the list you are offered at bootup. That is objectively incredible for any working studio, an industry sector I coincidentally have worked in myself. This level of creative flexibility means I hope this situation resolves for the better, perhaps with all the good people working under a new, hard-forked name. I have an old team of Technical Directors that, if I’m ever in Toronto and hanging out with them, this will be a huge topic of discussion, cause it would’ve solved so many of the challenges we faced when working together.
So basically I went all in, and it was not altogether easy to get my head around all the concepts - I never really did sort out using Flakes - but the aforementioned functionality seemed worth almost anything.
Where I said “holy shit this ain’t gonna work” and predicted today: when I learned, after several months, that when I went googling for the Wiki, I was randomly clicking on one of two sites - either (good) wiki.nixos.org, which was the up-to-date Wiki that observed some form of Code of Conduct and basically was trying to be a mainstream project, and (omg bad) umm nixos.wiki I think? Anyways, that’s the original Wiki, created during a time when the project was apparently a-okay with nazi contributors and maybe leaders, and features entries like “The NixOS Woke Invasion” as relevant topics of discussion.
So basically the new Wiki was formed because the nazi-friendly admin of the original refused to do the CoC thing, and basically had control of the domain name and site, and has refused to take any of it down, which as I said is how I spend literally months getting good, up to date info from the real wiki, and stale shitty nazi info from the other, though I never noticed the woke invasion page and shit until I discovered this. It’s an act of overt nazi sabotage, and basically the project has not been able to have it taken down, it wasted days of my time (sure, I should have read better, but again, I had no idea there was a second doppleganger set of nazi docs and couldn’t conceive of such a thing being a thing…)
Basically it was a straight line from that realization to my ending up with Debian or FreeBSD back on all my machines. I’ll take their minor irritants over wasting weeks of my life because nazis gonna nazi. If a hard forked project emerges from this that maintains the non-nazi stance, I might bring it back into my toolset.
The thin ray of hope: I have long thought about learning LISP and Emacs, and as it happens, there is an alternate project called Guix, which implements the NixOS feature set, but instead of using the Nix project’s bespoke declarative language, uses LISP instead. I say thin ray of hope, because if NixOS had a serious advantage that made it “use NixOS or don’t bother at all,” it was the fact that nixpkgs (the subject of today’s events) basically had feature parity with Arch and Debian SID, the other rolling releases of note, but obviously enjoyed more stability and flexibility than either, once you got your head wrapped about their way of doing things.
Guix does not have that same churn by any stretch, but, would still offer all the wonderful features of NixOS if you are willing to do the work of setting up any packages yourself, that do not already exist, and that is not at all removed from my to do list. The technology is fundamentally great fuckin’ stuff. And it’s worth noting that (up till today, anyways…) you could take advantage of nixpkgs by adding nix (not NixOS, just Nix) as a supplemental package manager on Debian and other distros.
All in all, today is zero surprise, and offers hope for a genuine rebuild in a more stable and useful way, that could then be adopted by business and others as a reliable and very, very useful way of doing custom builds for extremely fiddly tasks, with insane levels of reproducibility and the freedom to constantly improve.
Guix does not have that same churn by any stretch, but, would still offer all the wonderful features of NixOS if you are willing to do the work of setting up any packages yourself, that do not already exist, and that is not at all removed from my to do list
One of Guix’s strengths, and one of the things that appeals to me over Nix, is importers:
You can import packages from go, ruby, python, rust, or a few other languages really easily. Just guix import packagerepo and boom you have a package. This makes it significantly easier to get packages from those ecosystems.
Now, Nix has unofficial equivalent functionality… but it’s a mess and spread over 30 different projects, many of which would frustratingly only work with flakes (which are “experimental” and “not officiallly supported” despite the fact their extreme popularity), or only work with channels.
I remember this pain point when trying to import a python package with nix. The only “just works” way of doing it that only worked via channels… and was deprecated, with the repo being archived. There was this new, non deprecated way by the same group of people… that didn’t support a specific feature I needed to get the python package to work. And to the best of my understanding, still doesn’t.
Guix may not move as fast as Nix when it comes to packaging or innovation, but they have a certain “coherency”, where everything is together, integrated, well documented, and guaranteed to work.
Can someone explain for my dumbass who this is and what this means?
NixOS is a distro with cool tech where you declaratively configure your entire OS and can regenerate it from a single file. There’s some other benefits too.
Nix is filled to the brim with drama and dysfunction, and has been for years. This is probably another case of people burning out trying to unfuck the dysfunctional city of the project, although it could also just be drama.
What this means is you either groan and ignore it, rant about it, or grab some popcorn.
Pretty much this, but let me expand, as someone who got into it a few years ago, went all in for a while, realized the dysfunction you’re talking about was pretty serious and bad, and completely moved on from it, with the possibility of embracing Guix somewhere down the line…
What made me try it out: I listen to several podcasts about FOSS (hack ptui fuck Open Source), and one of them uses (used?) NixOS on their production streaming server, their OBS Studio machine. On that sort of device, you very often will get a stable configuration and then avoid upgrades and updates for as long as you can.
The nature of NixOS, though, means that you can mess around on that sucker all you want, completely wreck the bastard, and to get it back all you do is select the last-known-working build from the list you are offered at bootup. That is objectively incredible for any working studio, an industry sector I coincidentally have worked in myself. This level of creative flexibility means I hope this situation resolves for the better, perhaps with all the good people working under a new, hard-forked name. I have an old team of Technical Directors that, if I’m ever in Toronto and hanging out with them, this will be a huge topic of discussion, cause it would’ve solved so many of the challenges we faced when working together.
So basically I went all in, and it was not altogether easy to get my head around all the concepts - I never really did sort out using Flakes - but the aforementioned functionality seemed worth almost anything.
Where I said “holy shit this ain’t gonna work” and predicted today: when I learned, after several months, that when I went googling for the Wiki, I was randomly clicking on one of two sites - either (good) wiki.nixos.org, which was the up-to-date Wiki that observed some form of Code of Conduct and basically was trying to be a mainstream project, and (omg bad) umm nixos.wiki I think? Anyways, that’s the original Wiki, created during a time when the project was apparently a-okay with nazi contributors and maybe leaders, and features entries like “The NixOS Woke Invasion” as relevant topics of discussion.
So basically the new Wiki was formed because the nazi-friendly admin of the original refused to do the CoC thing, and basically had control of the domain name and site, and has refused to take any of it down, which as I said is how I spend literally months getting good, up to date info from the real wiki, and stale shitty nazi info from the other, though I never noticed the woke invasion page and shit until I discovered this. It’s an act of overt nazi sabotage, and basically the project has not been able to have it taken down, it wasted days of my time (sure, I should have read better, but again, I had no idea there was a second doppleganger set of nazi docs and couldn’t conceive of such a thing being a thing…)
Basically it was a straight line from that realization to my ending up with Debian or FreeBSD back on all my machines. I’ll take their minor irritants over wasting weeks of my life because nazis gonna nazi. If a hard forked project emerges from this that maintains the non-nazi stance, I might bring it back into my toolset.
The thin ray of hope: I have long thought about learning LISP and Emacs, and as it happens, there is an alternate project called Guix, which implements the NixOS feature set, but instead of using the Nix project’s bespoke declarative language, uses LISP instead. I say thin ray of hope, because if NixOS had a serious advantage that made it “use NixOS or don’t bother at all,” it was the fact that nixpkgs (the subject of today’s events) basically had feature parity with Arch and Debian SID, the other rolling releases of note, but obviously enjoyed more stability and flexibility than either, once you got your head wrapped about their way of doing things.
Guix does not have that same churn by any stretch, but, would still offer all the wonderful features of NixOS if you are willing to do the work of setting up any packages yourself, that do not already exist, and that is not at all removed from my to do list. The technology is fundamentally great fuckin’ stuff. And it’s worth noting that (up till today, anyways…) you could take advantage of nixpkgs by adding nix (not NixOS, just Nix) as a supplemental package manager on Debian and other distros.
All in all, today is zero surprise, and offers hope for a genuine rebuild in a more stable and useful way, that could then be adopted by business and others as a reliable and very, very useful way of doing custom builds for extremely fiddly tasks, with insane levels of reproducibility and the freedom to constantly improve.
One of Guix’s strengths, and one of the things that appeals to me over Nix, is importers:
https://guix.gnu.org/manual/1.5.0/en/html_node/Invoking-guix-import.html
You can import packages from go, ruby, python, rust, or a few other languages really easily. Just guix import packagerepo and boom you have a package. This makes it significantly easier to get packages from those ecosystems.
Now, Nix has unofficial equivalent functionality… but it’s a mess and spread over 30 different projects, many of which would frustratingly only work with flakes (which are “experimental” and “not officiallly supported” despite the fact their extreme popularity), or only work with channels.
I remember this pain point when trying to import a python package with nix. The only “just works” way of doing it that only worked via channels… and was deprecated, with the repo being archived. There was this new, non deprecated way by the same group of people… that didn’t support a specific feature I needed to get the python package to work. And to the best of my understanding, still doesn’t.
Guix may not move as fast as Nix when it comes to packaging or innovation, but they have a certain “coherency”, where everything is together, integrated, well documented, and guaranteed to work.