Hello,
I'm glad to see all interesting ideas from Nix being implemented as a DSL on top of Scheme, which makes an awesome combination.
That said, I would like to bring up an issue I've faced multiple times while using Nix, hoping that Guix can adopt a better solution here: optional runtime dependencies.
Nix doesn't have a good decoupling between packages and their optional runtime dependencies. You can disable them, but this would lead to a different package hash, and thus a different build (negating the use of prebuilt binaries).
Therefore, the culture seems to have all default package builds with all optional runtime dependencies on. This leads to situations such as installing mutt, and getting python as a dependency (via mutt -> gpgme -> glib -> python), which is quite ugly.
Installing many unneeded packages in your system is undesirable for many reasons. It has bothered me when using Nix in small embedded systems due to resource limitations.