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.

    • 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 shithole paradise 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.

  •  velox_vulnus   ( @velox_vulnus@lemmy.ml ) 
    link
    fedilink
    English
    33
    edit-2
    2 months ago

    What makes this different from https://aux.computer? And with just ten people - such a small community, to maintain what, a parallel fork that will eventually be forced to accept patches from Nix repos? How does it protect against, let’s say, corporate decisions? Wouldn’t that seep into their project too? Not trying to demotivate them, but I fear that this could be the fate of their project.

    There’s Guix, which is an official GNU project. 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? Sure, it’s still in the early version, so some stuff will be hard to work with, but personally, I think it’s a really nice hard-fork.

    •  lemmyreader   ( @lemmyreader@lemmy.ml ) OP
      link
      fedilink
      English
      28
      edit-2
      2 months ago

      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.

    • 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.

      • Right now, I am struggling because of unemployment and job shortage in the tech-market, but I’m planning to share my own patches to essential software, like you’ve mentioned - probably within the end of this month. I think projects like Node, Ruby and Python need to be maintained well enough.

        So if I have a chance to, I’ll probably work on either one of them, especially Node - that seems to be quite dated, and they’ve also skipped on v16, which hurts people who are still on it and don’t want to migrate immediately - because there’s no inferiors to pin to - while there’s multiple commits at least for 10, 14 and 18. Working on it would make Guix convincing as a third-party system package manager. I don’t know the state of Ruby or Python, but Zig seems to be in a decently good condition. Rust may be removed probably to avoid trademark violations, or they’ll probably create a fork and rename it.

        About the FOSS extremism, it is not that bad, and I honestly like it the way they’ve maintained it - in a way, it is very similar to how Fedora separates their free and non-free repositories. This is not to say that there’s provisions for no non-free drivers - in fact, I personally use them for my Wi-Fi drivers to work correctly. Given the state of FLOSS-respecting Wi-Fi hardware, Wi-Fi 5 devices still don’t have their respective open-source drivers, so 6, 6E and 7 are still going to be unsupported for a long time with the libre kernel. For folks who want to setup a working system easily, nonguix ISOs are readily available, so that would probably be the best place for anyone to start at.

      • 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.

      • 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.

    • This is a fork of the evaluator/language implementation/daemon/builder/whatever you want to call it. The other one (Auxolotl) is a fork of Nixpkgs, the repository of build scripts and all the NixOS misc pieces.

      Or put into other terms, this is a fork of APT/RPM as well as their associated builder tools, while Aux is a fork of Debian/Fedora/whatever. The Nix evaluator is a much more complex piece of software than most other package managers so it does benefit from having a dedicated team working on it.

  • 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.

    • 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++.

  • 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.