They've been working towards this with the (introduced[0] in v2 few years ago) experimental `nix` command that combines the various `nix-*` commands.
[0]: https://nixos.org/manual/nix/stable/release-notes/rl-2.0.htm...
> It is however a bummer that there's no socially-approved way to share packages of non-free software on the official channels
There is https://gitlab.com/nonguix/nonguix
That's one thing I prefer about NixOS, with Nix Flakes you can just turn any old Git repository into a package. No need to be part of any channels or need for the user to setup anything, you can just build and install straight from the upstream source with a single command line if they provide a `flake.nix` file. This automatically resolves a lot of pointless drama about what should or shouldn't be part of the distribution and makes it trivial to distribute patches and workarounds.
I chose to use Guix SD because I like that the config is in a real (more general purpose) language, which I then proceeded to learn.
From what I understand (someone that knows Nix can chime in) the Guix CLI is also more parsimonious than the Nix CLI, and not multiple differently named tools. I like the simpler interface this provides.
It is however a bummer that there's no socially-approved way to share packages of non-free software on the official channels (what are the unofficial channels I should know about? Just have been searching Github to find).