Distro agnostic packages like flatpaks and appimages have become extremely popular over the past few years, yet they seem to get a lot of dirt thrown on them because they are super bloated (since they bring all their dependencies with them).
NixPkgs are also distro agnostic, but they are about as light as regular system packages (.deb/.rpm/.PKG) all the while having an impressive 80 000 packages in their repos.
I don't get why more people aren't using them, sure they do need some tweaking but so do flatpaks, my main theory is that there are no graphical installer for them and the CLI installer is lacking (no progress bar, no ETA, strange syntax) I'm also scared that there is a downside to them I dont know about.
Because it has abominable documentation. Some tools built on top of nix on the other hand have stellar documentation (devenv and jetbox come to mind). The tools even try hard to hide nix because they know it's a goddamn nightmare for beginners to use it.
The CLI is a mess due to the indecisiveness of the nix maintainers whether they want flakes or not. So much so that the official manual doesn't use flakes, but many guides on the internet immediately go into nix dev#yadadada which leaves beginners and mid-term users alike very confused.
Another point is that graphical applications can't use OpenGL without dirty hacks like nixgl. Not only that, installing GUI applications using nix doesn't make them show up in your desktop environment (start menu, finder, whatever). No, you need to either manually create .desktop files or install another tool like home-manager to have them show (and not work properly because of OpenGL).
To top it off, unless you know better, it's command-line only. SnowflakeOS is building GUI tools around nix, but they aren't like say Discover or the Gnome Appstore: you can't install the GUI and have everything working - no, you need to figure everything out.
In short, nix is absolutely nowhere close for desktop user adoption, much less mainstream linux adoption (dev, sysadmin, tester, or whatever other technical role exists).
Flakes confuse me.
Guides online say "oh yeah just do this, it's easy" and don't mention flakes at all.
So I try the thing and it says ARE YOU FUCKING SURE, YOU IDIOT, YOU ABSOLUTE MORON, YOU CAN'T DO ANYTHING WITHOUT ENABLING FLAKES AND YOU HAVEN'T DONE THAT SO YOU CLEARLY DON'T DESERVE NICE THINGS but like, is there just no non-flakes version of that thing, what's the point of having an option that's not enabled by default if you can't do anything without it on
Flakes is still experimental. NixOS devs takes a bunch of time to release that. So most experienced users have enabled Flakes since years. Two different systems are available, which does not help ease of learning.