I think nixos is still niche, but seems to be gaining momentum. It has some unique features:
- Every package has its own dependencies, so you can install a 7 year old firefox alongside the latest, and have no interference.
- Packages with dependencies in common still share them (for space savings).
- Abandons the HFS, but can still fake it for apps that need it.
- Can make dev environments that are exactly reproducible across machines, and only exist within a specific shell session. So you can have a project that relies on an out of date version of a compiler, and another that uses the latest, and run both at the same time.
- Make your own packages that other people can install using a git repo address.
- The package language can also describe a machine’s configuration; systemd services, default packages, user accounts, etc.
- You can build and remotely deploy a machine config in one line.
- You can cross compile a machine config for another cpu architecture, like ARM.
- OS upgrades are atomic, and reversible. If it doesn’t work out, you can go back to the previous config.
- No reason to ever reinstall. Recently upgraded a machine that had sat in a closet for 5 years to the newest release. Flawless upgrade.
- Nixos boasts more packages than any other distro, over 100,000.
There are certainly downsides - poor docs, confusing core language. Instructions for installing something on say debian will not work on nixos. I do think this style of package management is the future, if perhaps not this specific implementation. It can be a pain but its also super solid.
Rich shitbags funding divisive propaganda to make the plebs fight each other and vote against their own interests.