Hi Josselin & all, I ended up pushing the following patches:
fdafd40432 maint: Use a pretty version string in ISO and VM images. 95a03aa5c5 system: install: Always use 'current-guix'. 57f1892d36 gnu: guix: Default 'current-guix' is built using the current channels. 64a070717c channels: Add 'repository->guix-channel'. cf60a0a906 build-system/channel: Accept a channel or instance as the source. 5bce4c8242 build-system: Add 'channel-build-system'. The basics are similar to what you had posted. It adds a useful default for ‘current-guix’: a package built from the ‘guix’ channel as returned by ‘guix describe’. In turn, ‘%installation-os’ in (gnu system install) is changed to use (current-guix) instead of the ‘guix’ package, meaning that: guix system image gnu/system/install.scm and: ./pre-inst-env guix system image gnu/system/install.scm both produce an image that contains the current Guix. That allows us to remove the second ‘update-guix-package.scm’ + ‘git commit’ invocation in ‘make release’, which should make the whole process faster. Note that the default for installed systems remains the ‘guix’ package, not (current-guix). The main reason is that the “Computing derivation” step when using (current-guix) is too high to do that by default. We could mitigate that by caching the result of that step more systematically, but I think that can come later. Let me know if you have comments! Thanks, Ludo’.