That's actually not true. Each home-manager generation is immutable and in the Nix store. E.g., the last two generations on my MacBook:
home-manager generations | head -n2
2019-12-23 12:05 : id 12 -> /nix/store/6rig5ip0swmnnfcvgm221n5lig3xsh18-home-manager-generation
2019-12-12 12:40 : id 11 -> /nix/store/8as4k5x7i5bhf3wjvlcczhx8w2680k46-home-manager-generation
But it symlinks certain files from the store in the home directory, because some programs (e.g. shells) have hardcoded paths to configuration files.losing the most interesting aspect of Nix
Similarly to the declarative NixOS configuration, you can switch between home-manager generations, etc. It's a purely declarative configuration.
It also basically builds up a parallel package repository that you have to use besides the actual packages,
What do you mean by this? home-manager also uses the Nix store. E.g., my home-manager configuration contains ripgrep in the declarative package configuration:
$ realpath $(which rg)
/nix/store/hww0h39bs56hp17ynxcjrk0imgqill07-ripgrep-11.0.2/bin/rg
There is plenty of documentation, but it is often incoherent, messy, missing important explanations,I fully agree! Often one has to read derivations in nixpkgs to understand how things are done.
The language... It is full of oddities and basically a mess
I disagree. I didn't like it when I started using Nix and seriously looked at Guix because it used scheme. Now, 1.5 year later, I like Nix as a language. It's just a small, functional language.
---
I think the biggest barrier of the Nix ecosystem is that you can't really use NixOS or Nix in a meaningful way without also learning the Nix language and some of the intricacies of writing derivations. So, you are pretty much all-in or it will be a frustrating experience. So, I understand your point about only using NixOS on reproducible servers. I also use NixOS on my desktop (and love it), but admittedly, it's only doable when you invest enough time to learn things.
If someone wants an immutable system with transactional installs and updates, Fedora Silverblue is probably a much easier entry-point, because you do not really have to understand OSTree et al. to use it.