Bootstrapping GNU userland is a major pain point, and it's great to see GNU Guix taking it so seriously. There's even a section of their manual dedicated to it [1].<p>This is important, even if you don't intend to run GNU Guix itself. I care about building GNU userland for embedded targets, and even with a build system like Yocto, which builds specific versions of the entire host userland, you can get errors due to eg. an older gnu m4 not being buildable with a modern glibc. Thus, you end up essentially requiring developers to build inside a container.<p>This is paving the way for having everything required to build a piece of software just checked into the git repository. If you want to change it, you just commit it like everything else.<p>[1] <a href="https://guix.gnu.org/manual/en/guix.html#Bootstrapping" rel="nofollow">https://guix.gnu.org/manual/en/guix.html#Bootstrapping</a>