services: Add a default value to various service types.

* gnu/services/admin.scm (rottlog-service-type)[default-value]: New
field.
* gnu/services/base.scm (guix-service-type)[default-value]: New field.
(guix-publish-service-type)[default-value]: New field.
* gnu/services/cups.scm (cups-service-type)[default-value]: New field.
* gnu/services/dict.scm (dicod-service-type)[default-value]: New field.
* gnu/services/mcron.scm (mcron-service-type)[default-value]: New field.
* gnu/services/networking.scm (<tor-configuration>)[config-file]: Add
default value.
(tor-service-type)[default-value]: New field.
(<bitlbee-configuration>)[interface, port, extra-settings]: Add default
values.
(bitlbee-service-type)[default-value]: New field.
(wpa-supplicant-service-type)[default-value]: New field.
(tlp-service-type)[default-value]: New field.
(openssh-service-type)[default-value]: New field.
* doc/guix.texi (Base Services, Log Rotation)
(Networking Services, Printing Services):
(Power management Services): Adjust examples accordingly.
This commit is contained in:
Ludovic Courtès 2017-04-16 00:06:43 +02:00
parent 1bb895eabf
commit 3d3c565008
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
9 changed files with 45 additions and 28 deletions

View File

@ -9066,9 +9066,9 @@ This service is not part of @var{%base-services}.
@end deffn @end deffn
@anchor{guix-publish-service-type} @anchor{guix-publish-service-type}
@deffn {Scheme Variable} guix-publish-service-type @var{config} @deffn {Scheme Variable} guix-publish-service-type
This is the service type for @command{guix publish} (@pxref{Invoking This is the service type for @command{guix publish} (@pxref{Invoking
guix publish}). @var{config} must be a @code{guix-configuration} guix publish}). Its value must be a @code{guix-configuration}
object, as described below. object, as described below.
This assumes that @file{/etc/guix} already contains a signing key pair as This assumes that @file{/etc/guix} already contains a signing key pair as
@ -9256,7 +9256,7 @@ with the default settings.
(operating-system (operating-system
;; @dots{} ;; @dots{}
(services (cons* (mcron-service) (services (cons* (mcron-service)
(service rottlog-service-type (rottlog-configuration)) (service rottlog-service-type)
%base-services))) %base-services)))
@end lisp @end lisp
@ -9433,10 +9433,9 @@ The value of this service is the @code{wpa-supplicant} package to use.
Thus, it can be instantiated like this: Thus, it can be instantiated like this:
@lisp @lisp
(use-modules (gnu services networking) (use-modules (gnu services networking))
(gnu packages admin))
(service wpa-supplicant-service-type wpa-supplicant) (service wpa-supplicant-service-type)
@end lisp @end lisp
@end defvr @end defvr
@ -10044,9 +10043,10 @@ system, add a @code{cups-service} to the operating system definition:
@deffn {Scheme Variable} cups-service-type @deffn {Scheme Variable} cups-service-type
The service type for the CUPS print server. Its value should be a valid The service type for the CUPS print server. Its value should be a valid
CUPS configuration (see below). For example: CUPS configuration (see below). To use the default settings, simply
write:
@example @example
(service cups-service-type (cups-configuration)) (service cups-service-type)
@end example @end example
@end deffn @end deffn
@ -13874,9 +13874,10 @@ source is detected. More information can be found at
@deffn {Scheme Variable} tlp-service-type @deffn {Scheme Variable} tlp-service-type
The service type for the TLP tool. Its value should be a valid The service type for the TLP tool. Its value should be a valid
TLP configuration (see below). For example: TLP configuration (see below). To use the default settings, simply
write:
@example @example
(service tlp-service-type (tlp-configuration)) (service tlp-service-type)
@end example @end example
@end deffn @end deffn

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -115,6 +115,7 @@
;; Add Rottlog to the global profile so users can access ;; Add Rottlog to the global profile so users can access
;; the documentation. ;; the documentation.
(service-extension profile-service-type (service-extension profile-service-type
(compose list rottlog-rottlog)))))) (compose list rottlog-rottlog))))
(default-value (rottlog-configuration))))
;;; admin.scm ends here ;;; admin.scm ends here

View File

@ -1424,7 +1424,8 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
(service-extension account-service-type guix-accounts) (service-extension account-service-type guix-accounts)
(service-extension activation-service-type guix-activation) (service-extension activation-service-type guix-activation)
(service-extension profile-service-type (service-extension profile-service-type
(compose list guix-configuration-guix)))))) (compose list guix-configuration-guix))))
(default-value (guix-configuration))))
(define* (guix-service #:optional (config %default-guix-configuration)) (define* (guix-service #:optional (config %default-guix-configuration))
"Return a service that runs the Guix build daemon according to "Return a service that runs the Guix build daemon according to
@ -1477,7 +1478,8 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
(list (service-extension shepherd-root-service-type (list (service-extension shepherd-root-service-type
guix-publish-shepherd-service) guix-publish-shepherd-service)
(service-extension account-service-type (service-extension account-service-type
(const %guix-publish-accounts)))))) (const %guix-publish-accounts))))
(default-value (guix-publish-configuration))))
(define* (guix-publish-service #:key (guix guix) (port 80) (host "localhost")) (define* (guix-publish-service #:key (guix guix) (port 80) (host "localhost"))
"Return a service that runs @command{guix publish} listening on @var{host} "Return a service that runs @command{guix publish} listening on @var{host}

View File

@ -1022,7 +1022,9 @@ extensions that it uses."
(inherit config) (inherit config)
(extensions (extensions
(append (opaque-cups-configuration-extensions config) (append (opaque-cups-configuration-extensions config)
extensions))))))))) extensions)))))))
(default-value (cups-configuration))))
;; A little helper to make it easier to document all those fields. ;; A little helper to make it easier to document all those fields.
(define (generate-cups-documentation) (define (generate-cups-documentation)

View File

@ -162,7 +162,8 @@ database {
(service-extension activation-service-type (service-extension activation-service-type
(const %dicod-activation)) (const %dicod-activation))
(service-extension shepherd-root-service-type (service-extension shepherd-root-service-type
dicod-shepherd-service))))) dicod-shepherd-service)))
(default-value (dicod-configuration))))
(define* (dicod-service #:key (config (dicod-configuration))) (define* (dicod-service #:key (config (dicod-configuration)))
"Return a service that runs the @command{dicod} daemon, an implementation "Return a service that runs the @command{dicod} daemon, an implementation

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -97,7 +97,8 @@
(mcron-configuration (mcron-configuration
(inherit config) (inherit config)
(jobs (append (mcron-configuration-jobs config) (jobs (append (mcron-configuration-jobs config)
jobs))))))) jobs)))))
(default-value (mcron-configuration)))) ;empty job list
(define* (mcron-service jobs #:optional (mcron mcron2)) (define* (mcron-service jobs #:optional (mcron mcron2))
"Return an mcron service running @var{mcron} that schedules @var{jobs}, a "Return an mcron service running @var{mcron} that schedules @var{jobs}, a

View File

@ -529,7 +529,8 @@ make an initial adjustment of more than 1,000 seconds."
tor-configuration? tor-configuration?
(tor tor-configuration-tor (tor tor-configuration-tor
(default tor)) (default tor))
(config-file tor-configuration-config-file) (config-file tor-configuration-config-file
(default (plain-file "empty" "")))
(hidden-services tor-configuration-hidden-services (hidden-services tor-configuration-hidden-services
(default '()))) (default '())))
@ -666,7 +667,8 @@ HiddenServicePort ~a ~a~%"
(inherit config) (inherit config)
(hidden-services (hidden-services
(append (tor-configuration-hidden-services config) (append (tor-configuration-hidden-services config)
services))))))) services)))))
(default-value (tor-configuration))))
(define* (tor-service #:optional (define* (tor-service #:optional
(config-file (plain-file "empty" "")) (config-file (plain-file "empty" ""))
@ -719,9 +721,12 @@ project's documentation} for more information."
bitlbee-configuration? bitlbee-configuration?
(bitlbee bitlbee-configuration-bitlbee (bitlbee bitlbee-configuration-bitlbee
(default bitlbee)) (default bitlbee))
(interface bitlbee-configuration-interface) (interface bitlbee-configuration-interface
(port bitlbee-configuration-port) (default "127.0.0.1"))
(extra-settings bitlbee-configuration-extra-settings)) (port bitlbee-configuration-port
(default 6667))
(extra-settings bitlbee-configuration-extra-settings
(default "")))
(define bitlbee-shepherd-service (define bitlbee-shepherd-service
(match-lambda (match-lambda
@ -789,7 +794,8 @@ project's documentation} for more information."
(service-extension account-service-type (service-extension account-service-type
(const %bitlbee-accounts)) (const %bitlbee-accounts))
(service-extension activation-service-type (service-extension activation-service-type
(const %bitlbee-activation)))))) (const %bitlbee-activation))))
(default-value (bitlbee-configuration))))
(define* (bitlbee-service #:key (bitlbee bitlbee) (define* (bitlbee-service #:key (bitlbee bitlbee)
(interface "127.0.0.1") (port 6667) (interface "127.0.0.1") (port 6667)
@ -1002,7 +1008,8 @@ dns=" dns "
(list (service-extension shepherd-root-service-type (list (service-extension shepherd-root-service-type
wpa-supplicant-shepherd-service) wpa-supplicant-shepherd-service)
(service-extension dbus-root-service-type list) (service-extension dbus-root-service-type list)
(service-extension profile-service-type list))))) (service-extension profile-service-type list)))
(default-value wpa-supplicant)))
;;; ;;;

View File

@ -396,7 +396,8 @@ shutdown on system startup."))
(service-extension udev-service-type (service-extension udev-service-type
(compose list tlp-configuration-tlp)) (compose list tlp-configuration-tlp))
(service-extension activation-service-type (service-extension activation-service-type
tlp-activation))))) tlp-activation)))
(default-value (tlp-configuration))))
(define (generate-tlp-documentation) (define (generate-tlp-documentation)
(generate-documentation (generate-documentation

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
@ -408,7 +408,8 @@ The other options should be self-descriptive."
(service-extension activation-service-type (service-extension activation-service-type
openssh-activation) openssh-activation)
(service-extension account-service-type (service-extension account-service-type
(const %openssh-accounts)))))) (const %openssh-accounts))))
(default-value (openssh-configuration))))
;;; ;;;