all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Nested modify-services
@ 2023-06-04 19:53 Fredrik Salomonsson
  2023-06-04 20:13 ` (
  0 siblings, 1 reply; 3+ messages in thread
From: Fredrik Salomonsson @ 2023-06-04 19:53 UTC (permalink / raw)
  To: help-guix

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-06-04 20:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-04 19:53 Nested modify-services Fredrik Salomonsson
2023-06-04 20:13 ` (
2023-06-04 20:56   ` Fredrik Salomonsson

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.