I tried to use nixOS as a desktop system. Using a special command (nix-shell) whenever I needed to do development things (e.g. Rust builds) was not my idea of fun. Some other things, like overriding GDM's monitors.xml file, were pretty much impossible to do. Maybe it's better if you just use it as a base for servers / containers.
Has the container situation improved? Last time I looked (quite some time ago) I couldn’t find an official or community blessed container to base anything on.
I use Nix on macOS, wishing I could replace all my brew usage with it. Working on a home-manager derived setup.
The dev workflow mentioned by tikhonj https://christine.website/blog/how-i-start-nix-2020-03-08 (including a "derivation" building a container from the example project).