Hi Guix, Yesterday I encountered an issue when I updated my desktop machine:
sudo -i guix pull && sudo -i guix system reconfigure ~/projects/plt/plt/system/machines/surt.scm --8<---------------------------------------------------------------------------- … guix system: warning: exception caught while executing 'eval' on service 'root': error: remove: unbound variable guix system: warning: some services could not be upgraded hint: To allow changes to all the system services to take effect, you will need to reboot. ---------------------------------------------------------------------------->8-- But I didn't get that with my laptop. Both share a lot of the same system configuration as I've created my own channel[0], where I have both configs inherting from a common config. I traced the issue to how I was setting up the extra services on my desktop machine[1]: --8<---------------------------------------------------------------------------- (define plt-surt-os (operating-system (inherit %plt-base-operating-system) (host-name "surt") ;; … (services (cons* ;; … (service console-font-service-type (map (lambda (tty) (cons tty (file-append font-terminus "/share/consolefonts/ter-132n"))) '("tty1" "tty2" "tty3" "tty4" "tty5" "tty6"))) (modify-services %plt-base-services (delete console-font-service-type)))))) ---------------------------------------------------------------------------->8-- Where my %plt-base-services[2] is defined as: --8<---------------------------------------------------------------------------- (define %plt-base-services (cons* (service plt-home-rottlog-service-type) (service plt-automount-service-type) ;; … (modify-services %desktop-services (delete gdm-service-type) (network-manager-service-type config => (network-manager-configuration (inherit config) (dns "dnsmasq") (vpn-plugins (list network-manager-openconnect)))) ;; … ))) ---------------------------------------------------------------------------->8-- If I remove the modify-services call on my desktop machine, or move it to %plt-base-services. The error goes away. I noticed that there was a recent change in modify-services[3] that is most likely behind my issue. Is nesting modify-services supported, I.e call modify-services on a list that already been modified by modify-services? If not, what would be the best way of sharing services between configurations and allow for custom tweaks per machine. Thanks! [0] https://git.sr.ht/~plattfot/plt [1] https://git.sr.ht/~plattfot/plt/tree/2abf21f5/item/plt/system/machines/surt.scm [2] https://git.sr.ht/~plattfot/plt/tree/2abf21f5/item/plt/system/machines.scm [3] https://git.savannah.gnu.org/cgit/guix.git/commit/?id=dbbc7e946131ba257728f1d05b96c4339b7ee88b -- s/Fred[re]+i[ck]+/Fredrik/g