mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
services: Add 'system-service-type'.
* gnu/services.scm (system-derivation): New procedure. (system-service-type): New variable. (boot-script-entry): New procedure. (boot-service-type): Extend SYSTEM-SERVICE-TYPE. (etc-entry): New procedure. (etc-service-type): Extend SYSTEM-SERVICE-TYPE. (fold-services): Change default #:target-type to SYSTEM-SERVICE-TYPE. * gnu/system.scm (operating-system-directory-base-entries): New procedure. (essential-services): Use it. Add an instance of SYSTEM-SERVICE-TYPE. (operating-system-boot-script): Pass #:target-type to 'fold-services'. (operating-system-derivation): Rewrite in terms of 'fold-services'. * gnu/system/linux-container.scm (system-container): Remove. (container-script): Use 'operating-system-derivation'. * guix/scripts/system.scm (export-extension-graph): Replace BOOT-SERVICE-TYPE by SYSTEM-SERVICE-TYPE. * doc/images/service-graph.dot: Add 'system' node and edges. * doc/guix.texi (Service Composition): Mention SYSTEM-SERVICE-TYPE. (Service Reference): Document it. Update 'fold-services' documentation.
This commit is contained in:
parent
3a391e68da
commit
d62e201cfd
6 changed files with 103 additions and 57 deletions
|
@ -491,10 +491,10 @@ building anything."
|
|||
(define (export-extension-graph os port)
|
||||
"Export the service extension graph of OS to PORT."
|
||||
(let* ((services (operating-system-services os))
|
||||
(boot (find (lambda (service)
|
||||
(eq? (service-kind service) boot-service-type))
|
||||
(system (find (lambda (service)
|
||||
(eq? (service-kind service) system-service-type))
|
||||
services)))
|
||||
(export-graph (list boot) (current-output-port)
|
||||
(export-graph (list system) (current-output-port)
|
||||
#:node-type (service-node-type services)
|
||||
#:reverse-edges? #t)))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue