Ludovic Courtès d466b1fc82
services: Missing services are automatically instantiated.
This simplifies OS configuration: users no longer need to be aware of
what a given service depends on.

See the discussion at
<https://lists.gnu.org/archive/html/guix-devel/2018-01/msg00114.html>.

* gnu/services.scm (missing-target-error): New procedure.
(service-back-edges): Use it.
(instantiate-missing-services): New procedure.
* gnu/system.scm (operating-system-services): Call
'instantiate-missing-services'.
* tests/services.scm ("instantiate-missing-services")
("instantiate-missing-services, no default value"): New tests.
* gnu/services/version-control.scm (cgit-service-type)[extensions]: Add
FCGIWRAP-SERVICE-TYPE.
* gnu/tests/version-control.scm (%cgit-os): Remove NGINX-SERVICE-TYPE
and FCGIWRAP-SERVICE-TYPE instances.
* doc/guix.texi (Log Rotation): Remove 'mcron-service-type' in example.
(Miscellaneous Services): Remove 'nginx-service-type' and
'fcgiwrap-service-type' in Cgit example.
2018-01-21 00:24:03 +01:00
..
2017-01-26 13:49:56 +01:00
2015-11-26 22:35:01 +01:00
2015-10-19 10:10:47 +02:00
2017-11-11 15:33:04 +01:00
2016-09-01 13:40:49 +03:00
2017-03-18 00:39:49 +01:00
2017-09-28 13:10:10 +02:00
2018-01-07 23:51:46 +01:00
2017-06-18 00:14:07 +02:00
2017-11-25 18:12:33 +01:00
2017-06-15 17:03:19 +02:00
2017-10-06 14:16:23 +02:00
2017-11-17 10:47:49 +01:00