[~] BACK



~~ LIX / AUXOLOTL ~~

** DECLARATIVE - REPRODUCIBLE - HUMAN FRIENDLY **

[NIX] | [20240507] | [0] | [0x17]




NixOS is a wonderful operating system. Some time ago, the thought crept into my head: "What comes after NixOS?" or "Are there alternatives if NixOS is no longer available?". That wasn't entirely the wrong way to think, because a lot has happened in the NixOS world in the last few weeks that have brought exactly these thoughts back onto my radar. I'll only give a superficial summary of the reasons here. It started with NixCon 2023 in Darmstadt. A sponsor suddenly appeared here that is at least a little off-putting - "Anduril". A top-notch MiliTech company that produces weapons systems and operates them with NixOS. "Anduril" is not only a sponsor, but also a contributor to the Nix packages. Somehow I don't think it's so cool that corps that actively build killing machines are part of the community. At NixCon 2023, Anduril was excluded as a sponsor - thanks to the civil clause of the TU Darmstadt (which prohibits participation in research in the military field). That gave a brief sigh of relief. What could have made people skeptical, however, was the hesitant attitude towards removing Anduril from the sponsorship.
Unfortunately, Anduril appeared again as a sponsor at other NixOS events a short time later. So the topic was not fundamentally off the table and it stirred up the community more than it initially seemed. In addition, other problems came to light that had probably been simmering in the NixOS community for some time. Eelco Dolstras (the main initiator of Nix) is said to have made decisions without consultation, the bias of Dolstra (DetSys as Anduril's contractor), toxic parts of the community and the aforementioned MiliTech contributors thanks to an ambiguous code of conduct. So all in all, quite a lot of stuff that doesn't smell good.
Of course, your heart rate will race and you will start to sweat, thinking that you might have to go back to an OS that is nowhere near as powerful as NixOS, but as the saying goes: "DON'T PANIC!".

For one thing, you are fortunately not the only person who is bothered by this situation, and for another, these people (who are a little more deeply involved in the whole matter) are also full of drive and don't want to leave the situation as it is.
In the last few weeks, there have been new projects that have emerged from this, but a lot has also happened internally at NixOS itself. For example, Eelco Dolstra has resigned from the community board, there are groups that are working all night to create a better, more open and more humane community, and the codes of conduct are also being tweaked. The "DON'T PANIC" has proven its worth and things are moving.
If you want to deal with the topic, here are a few links that record the whole event:

- [GitHub] Nix Drama explained
- [Web] Open letter about Dolstras leadership
- [Discourse] about the 2023 Sponsorship
- no I don't link Anduril!

OK. So there are a whole lot of topics that need to be worked on and I have faith in the NixOS community that this is exactly what will happen. But these events also have a nice side effect. When the whole thing came to a head, there were also the first calls for soft and hard forks and GUIX as an alternative to NixOS.


0x01 - GUIX


When you deal with NixOS, you inevitably come across GUIX. GUIX, like NixOS, is built with a declarative approach and a focus on reproducibility. GNU is written in capital letters here (and as often as possible ;) ). For me, this always has a slight aftertaste of apologetics, which is prevalent in many GNU projects. But that's just my personal feeling. The first factor that kept me from using GUIX is the number of available packages (GUIX: ~28,000 | NixOS: ~100,000). Now you could say that I don't need all 100,000 packages that NixOS provides. Correct. It just stumbles a bit when the tools that I use on a daily basis are not included in the GUIX packages.
The second factor that kept me from switching to GUIX is GNU GUILE, on which GUIX is based. I'm glad I understood the nix-lang fairly superficially. But when I look at GNU GUILE or GUILE SCHEME, I'm starting from scratch and my desire to learn something based on LISP also goes in the direction of my knowledge of GUILE SCHEME.
GUIX certainly has its fans and justification for its existence, but not for me.

0x02 - FORKS


I already mentioned above that there are people who have taken on the problem and started their own projects that follow the same approaches as Nix or NixOS and build the whole thing on nix-lang. Two projects that are getting the most attention are AUXOLOTL and LIX.
Both projects have grown in a very short time from a pure idea to a usable soft fork in beta status and can already be tested. The intentions of both projects are also almost identical: declarative and reproducible with the bonus: people-friendly.

AUX | AUXOLOTL

The first fork that came my way was AUX (yes, at that point it was still called AUX). The project was forked by JAKE HAMILTON and quickly developed from a website with an idea and a plan to fork Nix to AUXOLOTL. A soft fork that can be used as an alternative to Nix. AUXOLOTL defines itself as follows:

- a simple community guide
- will bring technical innovations to Nix and NixOS
in the future - is currently compatible with Nix

AUXOLOTL is still under construction and so the documentation is not yet complete, but I think if you look here [LINK] in a few days, the complete installation instructions will be there.

LIX


The other fork that I came across a little later is LIX, from which the "declarative. reproducible. human-friendly." is also borrowed. LIX, like AUXOLOTL, is completely compatible with Nix. LIX describes itself as "built for a community, not for a corporation", "A safe community for developers of all backgrounds". Here, LIX takes up the issue of the NixOS community differences and the Anduril-DetSys complex, distances itself from them and gives the decision-making power to the community. In addition, LIX continues to call itself "a correct implementation of the Nix language", "a more modern implementation of Nix" and "a language with room to grow". LIX uses the MESON BUILD system. According to the company, this is supposed to be significantly more efficient, faster and more user-friendly. LIX wants to guarantee expandability through the language versioning system it uses, both in the language itself and in the tooling.

0x03 - FAZIT

... there is none. But it is exciting to see how quickly the NixOS community reacts to problems. There is a lot of discussion going on here and further action is being planned, but also the drive of many community members and the really crazy speed at which things happen. Even if the NixOS ecosystem gets its deficits under control (and I am very confident), the fresh wind blowing in through LIX and AUXOLOTL will definitely have something good and will move the project forward and make it more diverse. In the end, the problems that have arisen have even produced something good and are raising NixOS even higher than it already is. We will see.

If you want to test LIX or AUXOLOTL, remember it is BETA. So everything is at your own risk.
Hier noch die Links zu beiden Projekten:
LIX [https://lix.systems]
AUXOLOTL [https://auxolotl.org]

Have fun testing!
[~] BACK