It's extremely easy to apply patches.
It's extremely easy to apply patches.
I'll quote from my blog post linked above:
> Different distributions make different choices, and therefore they are closely related operating systems, but not a single OS. Even Linux syscall interface subtly changes from distribution to distribution, as they pick and choose options to build their kernels.
> Every niche Linux distribution that does not follow the interface of a larger one is a unique OS, closely related but not compatible with other Linux OSes. This means the applications have to be ported.
> Application developers have to choose what targets their applications support. With Linux distributions being just a blip on the graph of operating systems popularity, the application developers may not invest significant amount of resources into porting and testing.
Basically, NixOS = zero QA effort from application developer -> nothing works.
> I don’t care about anything that’s not packaged by the distribution
> This is totally fine. Just note that you are using a niche OS with a limited set of applications available.
Even though in case of Nixpkgs "a limited set" is quite large, it does not include every application imaginable.
I don't remember the exact set of errors (there was more than one), but NixOS+FHS failed so many times I gave up, and wrote that blog post.
This is the essence: you can't expect application developers to target your niche distro.
> Basically, NixOS = zero QA effort from application developer -> nothing works.
"zero QA effort from application developer" does not imply that "nothing works" if the distro and community put in the effort instead.
Nevertheless community of NixOS developers is many magnitudes smaller than the amount of developers churning out new software, hence once you get off the golden path of the widely or somewhat widely software, the probability of a random thing working without additional elbow grease from the one who tries to use it is indistinguishable from 0, due to NixOS' dialect of Linux not being perfectly compatible with other dialects.
At the very least, documentation for the random thing will never tell you what to do under NixOS, and documentation is very much the part of the software product.
> I don’t care about anything that’s not packaged by the distribution
> This is totally fine. Just note that you are using a niche OS with a limited set of applications available.
Yes, Nixpkgs is large, but it does not package every piece of software out there, and you either at mercy of distribution maintainers to keep it packaged, or do it yourself. There is no way to disintermediate you and application developers.
When I was using NixOS I regularely saw software that was tested on Ubuntu and Fedora and had installation instructions for these two distros, but was missing from Nixpkgs (because it was experimental, new or very obscure), and didn't work out of the box with NixOS' FHS.
If it’s only dynamic linking than yeah, it might happen that you need a huge recompile (but that is not that big of a problem nowadays in my experience - gentoo used to compile way longer in my subjective experience for example). Also note: nix will soon get content-based hashing which may solve this problem.