Welcome to my Linux distro showdown! I'll rank Linux distributions based on my personal experience and factors like stability, package manager, community support, privacy/security, & customizat...
This is just very surface level discussion. Didn’t even mention that NixOS lets you roll your system back to any previous configuration or has the most packages of any distro
That’s very much open to discussion. You can’t just go by the number of packages because nixpkgs for example has multiple python versions as separate packages, each with a set of the same libraries just with a different prefix.
That is true, but most NixOS contributors and maintainers would agree that the average package quality is currently closer to that of the AUR than the official repos of other distros. However, there is the upside that because of how dependencies are handled, a broken package won’t mess with other things on your system in the same way a broken AUR package could.
the average package quality is currently closer to that of the AUR than the official repos of other distros.
Care to elaborate? I don’t remember packages not working, but if anything, they’re not building; which is basically the reverse of what happens at other distributions where sometimes, breakage during building isn’t noticed because the packages aren’t getting rebuilt when a dependency or the compiler toolchain changes.
I agree that Nix handles broken packages much better than Arch, but that’s more on the package managers themselves than the quality of packages.
NixOS Unstable has fairly frequent package breakages, especially for Python applications or packages using autogenerated dependencies. There are also many unmaintained packages. These unmaintained packages often get updated automatically without being tested, breaking them. Without a maintainer, some of these take a bit to be fixed.
I do think Nixpkgs packages are on average higher quality than AUR packages, they are just not up to the standards of many other repos official packages. Also, to be clear, I’m not hating on Nix or anything, I love Nix and NixOS is and has been my distro of choice for years.
Rollbacks are definitely something worth talking about, but the package count is probably not.
Nixpkgs automatically generated packages from some language specific package managers, mainly Haskell and Node packages, which do hugely inflate the number. If you account for these, it does end up being smaller than the AUR. Plus, many of those automatically generated packages are frequently broken.
This still leaves Nixpkgs as the largest official repo, but I think any NixOS maintainer would agree that the average quality of a package in NixOS is not as high as something like an official Arch or Debian package. Package review processes are not nearly as intensive as they probably should be due to the lack of manpower to handle that…
Edit: To be clear, since my tone seemed very negative here, I am not just trying to spread negativity about NixOS. I’ve used NixOS for years and contributed to plenty of Nix projects in the time. It is without a doubt the best package manager atm and its ideas have had massive positive impacts on package management as a whole.
I think any NixOS maintainer would agree that the average quality of a package in NixOS is not as high as something like an official Arch or Debian package
Package maintainer here. Not sure what you mean by quality; as that term is very ambiguous. Shit works and configuration is often a breeze by comparison to other distros.
I would never go back to a legacy distro. Who wants to do that shit all by hand?
I didn’t say or imply that NixOS is worse than other distros overall. I am also a maintainer of several packages, but I am referring to those with Nixpkgs write access, who generally have a deeper understanding of the repo.
Shit usually works, but not always. Breakages on unstable are not uncommon. For example, things often break when a major Python package is updated. The auto generated packages in Nixpkgs are often broken, sometimes completely, but sometimes in ways you don’t realize until you’re using them. Nixpkgs just does not have a review process that is on par with other distros.
I agree that NixOS configuration is amazing, that’s not what I was talking about. Im not shit talking NixOS, I love Nix and have used and contributed to it for years. I’m just bringing up valid points about it that are worth talking about.
Nixpkgs just does not have a review process that is on par with other distros.
We can agree on this. There is work to do.
Breakages on unstable are not uncommon.
I run unstable, and I have had this happen twice. Both times with Tmux (which is weird); but it was upstream issues. But fair enough. Maybe my systems aren’t exotic enough to experience the uncommon breakages.
Could nixpkgs do better? Yes. I mean, look at the backlog. You have to be active in the community to get your work merged in any decent timeframe. I think this is the most annoying part about the Nix ecosystem.
Maybe my systems aren’t exotic enough to experience the uncommon breakages.
The majority of issues are caused by Python applications, because Python packaging in Nix is still very rough. This isn’t Nix’s fault though, its the fact that pip sucks and most Python software uses a simple requirements.txt. Hopefully one day Poetry and UV build helpers will be in Nixpkgs.
You have to be active in the community to get your work merged in any decent timeframe. I think this is the most annoying part about the Nix ecosystem.
Definitely agree. It can be hard to get things merged or even reviewed. The simplest option to improve this would be to give more people write access, but of course lowering requirements for getting it would be a risk for security and stability. Nixpkgs automation is frequently improving, which will definitely help.
This is just very surface level discussion. Didn’t even mention that NixOS lets you roll your system back to any previous configuration or has the most packages of any distro
That’s very much open to discussion. You can’t just go by the number of packages because nixpkgs for example has multiple python versions as separate packages, each with a set of the same libraries just with a different prefix.
https://repology.org/repositories/statistics/nonunique
This only includes packages that are also in other distros
While the full number might be inflated, it still has one of the most complete official repositories.
That is true, but most NixOS contributors and maintainers would agree that the average package quality is currently closer to that of the AUR than the official repos of other distros. However, there is the upside that because of how dependencies are handled, a broken package won’t mess with other things on your system in the same way a broken AUR package could.
Care to elaborate? I don’t remember packages not working, but if anything, they’re not building; which is basically the reverse of what happens at other distributions where sometimes, breakage during building isn’t noticed because the packages aren’t getting rebuilt when a dependency or the compiler toolchain changes.
I agree that Nix handles broken packages much better than Arch, but that’s more on the package managers themselves than the quality of packages.
NixOS Unstable has fairly frequent package breakages, especially for Python applications or packages using autogenerated dependencies. There are also many unmaintained packages. These unmaintained packages often get updated automatically without being tested, breaking them. Without a maintainer, some of these take a bit to be fixed.
I do think Nixpkgs packages are on average higher quality than AUR packages, they are just not up to the standards of many other repos official packages. Also, to be clear, I’m not hating on Nix or anything, I love Nix and NixOS is and has been my distro of choice for years.
Rollbacks are definitely something worth talking about, but the package count is probably not.
Nixpkgs automatically generated packages from some language specific package managers, mainly Haskell and Node packages, which do hugely inflate the number. If you account for these, it does end up being smaller than the AUR. Plus, many of those automatically generated packages are frequently broken.
This still leaves Nixpkgs as the largest official repo, but I think any NixOS maintainer would agree that the average quality of a package in NixOS is not as high as something like an official Arch or Debian package. Package review processes are not nearly as intensive as they probably should be due to the lack of manpower to handle that…
Edit: To be clear, since my tone seemed very negative here, I am not just trying to spread negativity about NixOS. I’ve used NixOS for years and contributed to plenty of Nix projects in the time. It is without a doubt the best package manager atm and its ideas have had massive positive impacts on package management as a whole.
Again, just subtract all the unique packages and you still get more packages than the AUR
If other distros have the same package, it’s not a machine generated package, is it?
Package maintainer here. Not sure what you mean by quality; as that term is very ambiguous. Shit works and configuration is often a breeze by comparison to other distros.
I would never go back to a legacy distro. Who wants to do that shit all by hand?
I didn’t say or imply that NixOS is worse than other distros overall. I am also a maintainer of several packages, but I am referring to those with Nixpkgs write access, who generally have a deeper understanding of the repo.
Shit usually works, but not always. Breakages on unstable are not uncommon. For example, things often break when a major Python package is updated. The auto generated packages in Nixpkgs are often broken, sometimes completely, but sometimes in ways you don’t realize until you’re using them. Nixpkgs just does not have a review process that is on par with other distros.
I agree that NixOS configuration is amazing, that’s not what I was talking about. Im not shit talking NixOS, I love Nix and have used and contributed to it for years. I’m just bringing up valid points about it that are worth talking about.
We can agree on this. There is work to do.
I run unstable, and I have had this happen twice. Both times with Tmux (which is weird); but it was upstream issues. But fair enough. Maybe my systems aren’t exotic enough to experience the uncommon breakages.
Could nixpkgs do better? Yes. I mean, look at the backlog. You have to be active in the community to get your work merged in any decent timeframe. I think this is the most annoying part about the Nix ecosystem.
The majority of issues are caused by Python applications, because Python packaging in Nix is still very rough. This isn’t Nix’s fault though, its the fact that pip sucks and most Python software uses a simple requirements.txt. Hopefully one day Poetry and UV build helpers will be in Nixpkgs.
Definitely agree. It can be hard to get things merged or even reviewed. The simplest option to improve this would be to give more people write access, but of course lowering requirements for getting it would be a risk for security and stability. Nixpkgs automation is frequently improving, which will definitely help.