Hello Guix! The attached patch aims to speed up iterative development with 'make check-system', by reusing most of the compiled objects from the Guix checkout you are developing from (which needs to be built anyway for 'make check' to run). Why most and not all? Because the C++ daemon refers (links) to external libraries that were captured at the time it was built, and are most likely different from those inherited from the Guix package defined in your checkout. A solution would be have the "current-guix/pre-built" package inherit from the *inferior* of the guix package that was used to build the profile in which the deamon was actually built. I'm punting on that one because there doesn't seem to be a robust way to query the provenance of a profile ('guix environment' generates a profile without said information, for example). Anyway, recompiling the daemon only vs the whole Guix .go files already cuts down the time nicely from 20+ minutes to a couple minutes or so, on a dated X200 machine, which helps when iterating on Guix code changes only. To benchmark the build of just the current-guix/pre-built package, one can use: --8<---------------cut here---------------start------------->8--- time ./pre-inst-env guix build -e '((@ (gnu packages package-management) current-guix/pre-built))' --8<---------------cut here---------------end--------------->8--- To try using that package in an actual system test, you could use: --8<---------------cut here---------------start------------->8--- GUIX_DEV_HACKS=1 make check-system TESTS=basic --8<---------------cut here---------------end--------------->8--- or just 'make check-system', if you have lots of time on your hands :-) Thoughts? Maxim