- cross-posted to:
- freeasm@awful.systems
- cross-posted to:
- freeasm@awful.systems
https://chaos.social/@ktemkin/112392108881500298
https://chaos.social/@ktemkin/112392108893774195
This isn’t just a fork of Nix—this is the work of a team of 10+ people near-constantly since early February. (Technically, us too — but our task is really just enabling others.)
Some serious work has gone into ensuring it improves on upstream without having the regressions that have plagued them last three major versions!
And, since this will matter to some — it’s not a project of the NixOS foundation, but an independent organization that takes its responsibility to its community seriously.
So why should we use this instead of just saying lixmaballs and using nix/aux/nux/whatever other fork?
I suspect the reason why the full story isn’t being told here is because the creators of Lix don’t want the project to be seen as purely some “left wing” fork. I don’t blame them, especially considering Lix has far more merit than merely “Nix’s leadership sucks.” Regardless, I’ll see if I can give you an overview:
Basically, NixOS’s leadership has been seen for a long while as bureaucratic and sloooow even when it comes to core things like UX changes in Nix itself. When it comes to social issues, they have been dragging their heels even more. A lot of discontent has been brewing for years but the most notable conflicts have been when NixOS’s leadership accepted funding from Anduril to fund NixCon 2023. Anduril was then dropped as a sponsor, but NixCon North America 2024 again got sponsored by Anduril. Anduril, in case you didn’t know, is part of the military industrial complex, and is run by Palmer Luckey, a noted Israel supporter in the ongoing genocide against Palestine.
NixCon getting Anduril sponsorship again ticked off a lot of people. This petition was then opposed by a particularly loud and irritating chunk of the community, including Jon Ringer, a (now former) release manager for NixOS, and most notably, an Anduril employee. Jon maintains that his Anduril employment was irrelevant to his work on Nix, which may very well have been true; up until the point where he started going on rants about Nix becoming “political” in discussions about the sponsorship. He stifled a ton of discussion around this issue, and NixCon went ahead with the Anduril sponsorship. Now that he has been “doxxed” (his employment details were public on LinkedIn, he uses this term to drum up more support for himself dishonestly) he has gone full mask off, and now spends time on the grifter’s
shitholeparadise r/NixOS to complain about how the “woke left” is supposedly trying to infiltrate Nix’s leadership and “take over the project” (partly because of the Anduril sponsorship response, partly because of this one RFC where someone dared to advocate for minority representation).People have been advocating for leadership change to at least try and get NixOS’s leadership to do more, but apart from Eelco (the BDFL) stepping down there hasn’t been a whole lot that’s changed. After reading a lot of these discussions and seeing just how inactive some of this moderating has been (and the fact that when a mod does try to clean up the forums, the grifters cry that the mods are being “political” or whatever the fuck), I’m personally throwing my whole weight behind Lix, because I appreciate project leadership that aims to have a safe community. That, and I also like a project that isn’t scared of breaking experimental features.
This is a fork or other form of replacement for nix as in the package manager. It does not replace NixOS, but can be used on NixOS and Darwin.
deleted by creator
https://forum.aux.computer/t/the-future-of-nixcpp-lix/483
The announcement resolves one of my last fears for Aux: development on Nix itself. It is no secret that the number of people knowledgeable about the project and are willing to work on this CPP codebase is small. You have probably seen me mention multiple times by now that @sig_cli needs all of the help that we can get. Lix resolves this entirely with a trusted team of experts. This means that Aux is now able to remove Nix development from our priorities and can instead collaborate with Lix moving forward.
deleted by creator
I think that’s backwards. Lix is a replacement for the nix package manager, while aux is a replacement for NixOS.
Aux looks like it will now use Lix for it’s package manager, instead of trying to make its own fork of nix.
Lix is the Nix CLI, Aux is everything else.
If anyone is willing to learn a little bit of Guile Scheme - look, the language is great, the project isn’t contaminated with multiple scripts, project skeleton is much better, the modules are well written, so why not move over there?
The language is great, but the ecosystem is on life support, and I don’t see it getting anywhere close to nix soon. I believe it’s especially crippled by being Linux only and forcing free software to the point you’re not allowed to even mention the non-free repo in the guix irc.
Random Devs and companies aren’t going to use it for their projects, and so there far less maintainers to solve issues like having a node version that’s not in maintenance for half a year and 4 major versions behind, or having automated npm package conversions.
Realistically it’s currently only useful for a few languages with abysmal PMs, most of which are lisps, and like Haskell.
deleted by creator
Now that I think of it, a guix fork would be far more useful than a nix one. You could forgo some of the FOSS extremism, and allow your users to install it without an ethernet cable, and maybe even on the infidel Operating Systems (even though guix is in the official repo for Debian + wsl).
And I bet guile could really use the attention. AFAIK it’s mainly developed by one dude, and he made some impressive improvements. Just check out the release speeches on youtube, massive jumps between versions.
Best of all, the GNU people could focus on building a better core, and choose to adopt only some changes, while preserving the purity of their system.
I believe https://www.pantherx.org/ is both Guix based and, I think, more relaxed on the non-guix issue. Don’t know much else tbh, but peeps interested can check it out.
I would be for that fork. I used Guix a long time ago and got really frustrated with non-free and binaries. Guix is really nice to use though and it’s fast.
Aux is still keeping all of their code on Microsoft GitHub, Lix isn’t
Aux is only keeping the code on GitHub temporarily because money is tight and there are very few options for a soft fork of a repo as huge and active as nixpkgs. Plus, they want ease of accessibility for devs considering it’s a very new project.
Long term plans are to move off of GitHub. I’m pretty sure some people are talking to Codeberg to see how feasible it would be to move there in the future.
I would believe that when I see it. They said they would not use GitHub-only features & they already are. These things don’t tend to move once actually set up. You also look at the language around trying to “cast a wide net” being thrown out before “what are our principles” & compromising on that so early is a big oof from me. Folks that can’t be bothered to create a new account or learn a new forge or version control system are not the folks that would be bothered to switch from Nix to Aux.
Literally any other option would offer easier escape …with the exception of the size of Nixpkgs & the fact that most developers don’t understand how to do patches without a pull request on the host platform rendering the D in distributed version control system moot so everyone clamors nothing can scale without Microsoft (allow requests off the centralized forge, allow patches to a mailing list, seed it with Radicle, etc.). The foundations are being built wrong.
i really want to like Nix.
gave it a shot a few years ago, but i felt like documentation and community support wasn’t really there yet. this was long before Nix surpassed Arch in terms of number of available packages. now people still complain about documentation, especially of the Nix language. i see a lot of package authors using it, and that kind of tempts me to start using at least the package manager. but a lot of packages don’t. the allure of GitOpsing my entire OS is very tempting, but then there’s been these rumors (now confirmed) of new forks, while Guix splintered off much earlier. for something that’s ostensibly supposed to be the most stable OS, that makes me nervous. it also seems to have some nontrivial overhead—building packages, retaining old packages, etc.
the pitch for Nix is really appealing, but with so much uncertainty it’s hard to pull the trigger on migrating anything. heck, if i could pull off some PoCs, i think my enterprise job might consider adopting it, but it’s a hard recommend for me today as it was 5 years ago.
The problem with Nix and its forks, imho, is that it takes a lot of work, patience, time and the willingness to learn yet another complex workflow with all of its shortcomings, bits and quirks to transition from something tried, tested and stable to something very volatile with no guaranteed widespread adoption.
The whole leadership drama and the resulting forks, which may or may not want to achieve feature parity or spin off into their own thing, certainly doesn’t make the investment seem more attractive, either.
I, too, like the concept of Nix very, very much. But apart from some experimental VMs, I’m not touching it on anything resembling a production environment until it looks to like it’s here to stay (predictable).
I use NixOS, and I’m confused. Why is a fork of Nix necessary? I’m out of the loop.
edit: currently looking at lix.systems and aux.computer for info.
So… should I just switch to Lix? Like are there any problems I should expect?
edit 2: i tried switching to it, but got an infinite recursion error in my
flake.nix
, and honestly i don’t feel like dealing with it right now.Are your dotfiles public? I’d be interested in taking a look.
Unfortunately, my dotfiles aren’t public
Lixma balls
(as a side note, Lix (and Aux and whatever else) is going to need an easy, clear, DOCUMENTED (and preferably automated) migration path)
Does nix package manager have some issues adressed by this implementation or was it born for another reason?
The short version is that community lost faith in nix governance.
It’s basically focused on establishing good community-centered governance, cleaning up the codebase, standardizing workflows (reconciling disparate parts of nix), and (I think?) eventually reimplementing the whole thing in Rust instead of C++.
Mix is right there
How confusing will looking up “elixir mix Linux” be in web searches though 👀
Never enough forks! Don’t like it? Fork it! Fork me and fork you! So much effort lost in all those forks.
No man is an island, but they can fork one!
This is very cool. Im a fan of Nix from a tech perspective but im still not sold because of its poor UX, among many other complaints. IMO it’s the future of the Linux distro, but now that might be closer than before!
At least, for me, Nix was never attractive, and it should be by all means, the features it provides. I still see this as an alternative, where I’m more than satisfied with my bash scripts and git repos, syncthing backups to rebuild the whole system.
And, on the second part, this schism that happened in Nix is the same recipie that happened in other projects. I just find it funny.
Looks terrible tbh, it doesn’t do anything Nix doesn’t.
Removed by mod
^ the NixOS leadership tolerating people like this is one of the reasons why Lix exists, in case you were wondering
Oc the og based gigachad PhD holder didn’t just force through a RFC which causes thousands of regressions in the main repo. Nix community is sure healthy under this kind of leadership.
This is what is so ridiculous to me. The Nix team does borderline incompetent shit like this, but the real problem with the project is “le woke”? Give me a break.