Hello again, Mark H Weaver writes: > Ludovic Courtès writes: > >> Jakob, now that we generate scripts for the effectful bits of system >> reconfiguration (one of these bits being service upgrades), couldn’t we >> take it one step further and store those scripts in the “system” >> derivation so we can run them eventually, notably upon >> ‘switch-generation’? > > As a bonus, this approach might solve another issue I've observed: on my > Guix system, where I build everything locally, several derivations are > built *during* activation. Based on the terminal output, I get the > impression that the system is compiling things while the system in an > intermediate state, when some of the activation steps have been done, > but not all of them. > > As I recall, the derivations built during activation are limited to > compiled modules for Guile, but it still sometimes takes on the order of > a minute or two on my laptop to complete the "activating system" steps. > This seems suboptimal. > > The next time I update my system, I'll try to remember to keep a > transcript of this, so that I can be more specific. Here's a transcript: --8<---------------cut here---------------start------------->8--- activating system... building /gnu/store/fbp6bbxw9cf617fmk57sddrz7zfsfw5p-module-import-compiled.drv... building /gnu/store/wfi6hnr9ggal0s1d32xx5wbl5k5wqlvx-switch-to-system.scm.drv... making '/gnu/store/mjzk53ia3bajn08lscpyzz5apcw3r70g-system' the current system... setting up setuid programs in '/run/setuid-programs'... populating /etc from /gnu/store/l7r1has973n26hfqrs6vxbi94xzgh360-etc... building /gnu/store/h2fqcxv3xx14lkdhyphm3lawkayw7sdl-module-import-compiled.drv... building /gnu/store/dar9smjyxmri6v6cchnmp5mpyiimyx64-install-bootloader.scm.drv... guix system: bootloader successfully installed on '/dev/sda' building /gnu/store/vkk3h5p799lfpmf6msdhrzlq0wqvk3zq-module-import-compiled.drv... building /gnu/store/hn8sr8p13gg2mf379xawscabckp03fkb-upgrade-shepherd-services.scm.drv... shepherd: Evaluating user expression (let* ((services (map primitive-load (?))) # ?) ?). guix system: warning: only 3.9% of free space available on /gnu/store hint: Consider deleting old profile generations and collecting garbage, along these lines: guix gc --delete-generations=1m --8<---------------cut here---------------end--------------->8--- Mark