services: 'fold-service-types' includes (gnu services).

* gnu/services.scm (all-service-modules): New procedure.
(fold-service-types): Use it for the default MODULES value.
This commit is contained in:
Ludovic Courtès 2017-11-08 13:25:04 +01:00
parent a3d37f3ae5
commit 3943913fac
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 6 additions and 1 deletions

View File

@ -175,9 +175,14 @@
(make-parameter `((,%distro-root-directory . "gnu/services") (make-parameter `((,%distro-root-directory . "gnu/services")
(,%distro-root-directory . "gnu/system")))) (,%distro-root-directory . "gnu/system"))))
(define (all-service-modules)
"Return the default set of service modules."
(cons (resolve-interface '(gnu services))
(all-modules (%service-type-path))))
(define* (fold-service-types proc seed (define* (fold-service-types proc seed
#:optional #:optional
(modules (all-modules (%service-type-path)))) (modules (all-service-modules)))
"For each service type exported by one of MODULES, call (PROC RESULT). SEED "For each service type exported by one of MODULES, call (PROC RESULT). SEED
is used as the initial value of RESULT." is used as the initial value of RESULT."
(fold-module-public-variables (lambda (object result) (fold-module-public-variables (lambda (object result)