services: Add 'system-service-type'.
authorLudovic Courtès <ludo@gnu.org>
Mon, 2 Nov 2015 17:44:17 +0000 (18:44 +0100)
committerLudovic Courtès <ludo@gnu.org>
Mon, 2 Nov 2015 21:25:11 +0000 (22:25 +0100)
commitd62e201cfd0f1e48c14586489d0e2b80ce943d4f
treed6c4989b36b54f154f21363ac72bd9896729f2de
parent3a391e68dafe81560d3e4936a1ec5ac3b06d43bb
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.
doc/guix.texi
doc/images/service-graph.dot
gnu/services.scm
gnu/system.scm
gnu/system/linux-container.scm
guix/scripts/system.scm