NixOS all the way, but it is a PITA to set up. Fedora or Ubuntu is great if you want no headache and up-to-date tools. OpenBSD for routers.
It is rather easy to install as a desktop compared to, for example, Gentoo or Alpine Linux.
The problem with NixOS is the ecological aspect.
If I compare how long a full system upgrade takes on a weak system (old Intel i3 and a standard hard drive, no SSD), NixOS takes an average of 54 times more time than Alpine Linux.
I'm using NixOS's unstable channel for this test, as the default channel lags significantly in software versions and isn't really suitable for desktop use.
My guess is that NixOS takes 54x more energy to do a full system upgrade (all apps to latest versions)
Even Gentoo can now be very ecological thanks to the binary packages.
NixOS and GNU Guix are by far the least ecological operating systems.
I'm not sure why Nix is so slow, maybe it's the Nix programming language that's very slow.
During the installation of Nix, you can also see that the installer relies a lot on Python and nixops and many other tools that NixOS uses are written in Python. Which may explain the slowness.
At GNU Guix, they made a similar basic mistake by using Guile instead of Chez Scheme, which makes many components of GNU Guix much slower than necessary.