We’ve recently started a new working group called Nix@NGI. The aim of this group is to focus on streamlining the way open source software works, making it more reliable and easier to use for everyone.
If you’d like to learn more about how this project came to be, we’ve shared the details in our first post on the Nix Discourse: Nix Discourse Initial Post. For technical updates or to follow our progress, feel free to visit our GitHub repository: Project GitHub.
We’d love to hear from you—do you have any similar experiences or lessons learned from your own projects? Let’s share knowledge and see how we can help each other!
Hi @idabzo ,
Thank you for posting this in our forum.
People here are interested in anything that may impact on open source software, but only a few of us are programmers or developers.
We have not had much discussion of Nix or NixOS. It might help if you could find us a link to an introductory article. We can find your site
and the github page
and wikipedia
but something simpler would help.
My own position is, I would like to help, and I may meet the criteria except I have no Nix experience. I cant commit, because I have an invalid wife to care for, and I dont want to be paid. I maintain an R package, so I may be able to help with issues related to packaging R. My long term background was in scientific computing and BSD.
There are some disturbing trends in packaging at the moment. Languages like Rust and Python and Julia are abandoning the distros packaging system and using their own. I can understand their frustration with slow packaging updates in some distros, but if we keep going in that direction every app will have its own packaging tools. I think Nix is important, because at least it is global across apps and cross platform.
How does Nix cope with something like Rust that updates its versions almost weekly?
Lets leave it at that. I will give NixOS a run ( have never tried it) . If you think I can help with anything, please let me know, but bear in mind my limitations…
@idabzo ,
Nixos uses systemd.
Do Nixos and Nix offer anything like the Artix system that can cope with multiple init system choices?
Artix currently supports OpenRC, Runit, S6 and Dinit, and that includes full package system support.
Hi, your reply to this post, got me interested in the topic. I checked NixOS package manager and they have Runit, S6, Dinit and many more init systems packages. Except OpenRC was not present.
I saw few discussions about the topic on the NixOS discourse & Github about having a NixOS free of systemd but it seems to be just talks.
It seems to be a lot of fun for someone to make a build your own NixOS kernel with the init system one wants to use; but out of the box, does not seem to have any stable builds one can download free of systemd.
I’m still not understanding the frenziness surrounding the systemd saga. I did read an article about it years ago; would be great to go back and read it. If anyone interested. I voluntarily will search for the systemd free article I once fumbled across on the web and paste it in a reply of this post.
A side note on NixOS, I was able to install the operating system on my hp laptop quite easily 2 years ago and was impressed by it. I am a beginner with the foss universe. I was not able to install Debian, NetBSD, OpenBSD and a number of other distros, but Linuxmint and NixOS yes!
Hi @j.tess ,
Having several init system packages available is the easy part of achieving init freedom. Even Debian has that. The hard part is that every app that provides a service ( ie runs a daemon) needs to have its package modified to provide the configuration files to suit any choice of init system.
Also if the starting state of the OS is systemd, it is a big job to remove systemd.
I read your links. They are interesting. It seems the Nixos community has debated init freedom then shelved it. The discussion is old.
That means NixOS is in danger of being left behind, because…
There are several distros today that have mastered the init freedom challenge
Artix(Arch based) is the most advanced solution
Antix(Debian based) offers two non-systemd init systems
MX (Debian based) offers sysVinit or systemd
Devuan(Debian based) offeres multiple non-systemd init systems but in my opinion
they need work on the service packages
Guix, Void, Chimera… all use one non-systemd init system
there are new init systems appearing that are more likely to challenge systemd than the older sysvinit or OpenRC
dinit is a simple system which would be my choice for home desktops
66 is an S6 fork which is really sophisticated and provides all the capabilities of systemd which might be needed in the corporate server world.
systemd has some limitations. It requires glibc… it can not be compiled with musl,
and that means it is unsuitable for embedded systems.
I am not sure, but I dont think systemd is portable…, eg to BSD or MacOS or Android
It is also rather large, and that makes it unattractive for embedded systems or lite distros. There are also some philosophical issues to do with software design and modularity. There are some practical issues to do with complexity and bugs.
Given that , I think NixOS is limiting itself if it locks into the systemd rut.
It would be a shame for the very advanced Nix package system not to tackle the problem of packaging service daemons to suit init system choice.