So obviously lix has just been released. And this afternoon it has joined core repo as an aux package and therefore we should be able to ship it as the default nix version.
lix offers many changes prominently UX and QOL changes.
We should likely hold off on setting lix to the default nix version until after it is out of beta.
Let’s keep both Nix and Lix separately. When we work on modules then we can consider setting the default package used for Nix to be Lix (probably with an alias as well).
Forgot to mention that lix also does regression changes unlike nix, so it will be more reliable to test against too. As well as fixing a number of bugs.
Given available evidence, Lix seems a significantly more stable alternative to Nix. I don’t really see why it shouldn’t be the default in the not-even-beta aux setup?
I personally am enthusiastic about making lix the default, I think it has shown it’s going to stay around and is more committed to code health, reliability, etc than cppnix. I think that would have been a harder call a year ago, but at this point it’s clear. That said, I’m new here so this is for sure not my decision.
I think we are pretty set on Lix being the implementation that is shipped. Though since this thread was created plans around an Aux package set have changed a bit. We were originally tracking a fork of Nixpkgs, but didn’t have nearly enough people contributing to manage the workload. Instead things shifted more to R&D, primarily involving Foundation and Tidepool. So it will likely be a little while before we are shipping anything.
makes sense. I think starting from scratch with the package set is likely to be better than forking, honestly. continuous integration is the heart of a distro and a fork would have to start out with equivalent infrastructure for it, whereas starting fresh lets you build something that this community actually understands and knows how to maintain.
Multiple people of Lix are working on Snix, Nix and in an extension Lix has a disastrous codebase, Snix is a nice rebuild that is way more thought out and does multiple things that Nix does but smarter and faster while keeping comp.
I think this is hard to judge whether it’s possible or not without having an idea of whether we want to keep focusing on fully bootstrapping core packages (which imo includes the default nix impl we use), or if we draw a line elsewhere, and how rust bootstrapping looks like. I’d need both information to judge whether we can ship snix as a default, and we liekly won;t have them before some time.