So why should we use this instead of just saying lixmaballs and using nix/aux/nux/whatever other fork?
post
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.
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).
Another one?
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.
(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?
Mix is right there
Never enough forks! Don't like it? Fork it! Fork me and fork you! So much effort lost in all those forks.
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.
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!
^ 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.
all 38 comments