Guix is a nice idea. But the few last times I read about it, users uniformly noted that it's soooo slow in man cases. Nix can be slow, but most of the time is very fast, it just has to check a lot of files.
The problem is that an immutable build architecture really requires a functional language to be aligned with it