linux-container: Do not replace nscd-service-type.

* gnu/system/linux-container.scm (containerized-operating-system): Respect
customizations to the nscd-service-type and only modify the caches field.
This commit is contained in:
Ricardo Wurmus 2022-12-01 19:50:36 +01:00
parent df25165530
commit 1a63aea943
No known key found for this signature in database
GPG key ID: 197A5888235FACAC

View file

@ -121,9 +121,7 @@ (define services-to-drop
;; different configs that are better suited to containers.
(append (list console-font-service-type
mingetty-service-type
agetty-service-type
;; Reinstantiated below with smaller caches.
nscd-service-type)
agetty-service-type)
(if shared-network?
;; Replace these with dummy-networking-service-type below.
(list
@ -134,17 +132,13 @@ (define services-to-drop
(list))))
(define services-to-add
(append
;; Many Guix services depend on a 'networking' shepherd
;; service, so make sure to provide a dummy 'networking'
;; service when we are sure that networking is already set up
;; in the host and can be used. That prevents double setup.
(if shared-network?
(list (service dummy-networking-service-type))
'())
(list
(nscd-service (nscd-configuration
(caches %nscd-container-caches))))))
;; Many Guix services depend on a 'networking' shepherd
;; service, so make sure to provide a dummy 'networking'
;; service when we are sure that networking is already set up
;; in the host and can be used. That prevents double setup.
(if shared-network?
(list (service dummy-networking-service-type))
'()))
(operating-system
(inherit os)
@ -155,7 +149,11 @@ (define services-to-add
(services (append (remove (lambda (service)
(memq (service-kind service)
services-to-drop))
(operating-system-user-services os))
(modify-services (operating-system-user-services os)
(nscd-service-type
config => (nscd-configuration
(inherit config)
(caches %nscd-container-caches)))))
services-to-add))
(file-systems (append (map mapping->fs
(if shared-network?