Last month I talked about GUIX and how much I disliked it. This month a took swing at NixOS, which is the Linux distro GUIX is based on. NixOS is a much more polished distribution of Linux than GUIX ever was or probably will be. NixOS brings a decent graphical installer to help you get through the basic install and once you are in, you then have access to the packaging and configuration system.
The packaging and configuration system is really where GUIX was supposed to shine, but I never got to the point where it was useful to me. NixOS on the other hand, did the tedious stuff for me, which is what an installer should be doing.
Everything about packaging and configuration is kept in the /etc/configuration.nix file which can be edited easily to add or remove functions or programs. Then once you have the file setup the way you like it, you can then take this file to a fresh install of NixOS and use it to reproduce your setup. The first thing you will probably want to do is break out the packages you want installed into a separate packages.nix file to keep you configuration file from becoming unwieldy. If you have more than 3 or 4 users, you probably want to break that out into a different file as well. This will help keep your configuration.nix file short and manageable.
Honestly, this is how GUIX should have been done. Since GUIX is a newer spin on NixOS, there is no reason why it should not have been better. I still prefer Debian, I certainly am not switching to NixOS. Because of the way it handles packages and maintains backup of old configurations, it eats hard drive space, which is fine if you have a couple of terabytes of storage, but not so good if you are using an old laptop with 512 GB or less of storage. On top of that, the good things about NixOS can be done with any other distribution by simply writing a shell script and running it after an install. So this does not really bring much to the table.