services: Factorize configuration abstraction.
* gnu/services/mail.scm and gnu/services/cups.scm (&configuration-error)
(configuration-error, configuration-field-error)
(configuration-missing-field, configuration-field, serialize-configuration)
(validate-configuration, define-configuration, uglify-field-name)
(serialize-field, serialize-package, serialize-string)
(serialize-space-separated-string-list, space-separated-string-list?)
(serialize-file-name, file-name?, serialize-field-name)
(generate-documentation): Move duplicate code...
* gnu/services/configuration.scm: ...to this new file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add configuration.scm.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu: Whitespace changes
* gnu/services/kerberos.scm: Fold lines to 80 character limit.
services: Add opensmtpd service.
* gnu/services/mail.scm (<opensmtpd-configuration>): New record type.
(%default-opensmtpd-config-file, %opensmtpd-accounts): New variables.
(opensmtpd-shepherd-service, opensmtpd-activation): New procedures.
(opensmtpd-service-type): New variable.
* doc/guix.texi (Mail Services): Document it.
services: network-manager: Depend on 'wpa-supplicant'.
Suggested by Chris Marusich <cmmarusich@gmail.com>.
* gnu/services/networking.scm (network-manager-shepherd-service)
[requirement]: Add 'wpa-supplicant'.
services: Move polkit to (gnu services dbus).
* gnu/services/desktop.scm (<polkit-configuration>, %polkit-accounts)
(%polkit-pam-services, polkit-directory, polkit-etc-files)
(polkit-setuid-programs, polkit-service-type, polkit-service): Move
to...
* gnu/services/dbus.scm: ... here.
services: static-networking: Remove unused parameter.
This is a followup to e48fcd7b8d07f213b23e3b432b0f10db917f69fa.
* gnu/services/networking.scm (static-networking-service): Remove #:net-tools.
(static-networking-service-type): Remove outdated comment.
gnu: services: Add git-service.
* gnu/services/version-control.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* doc/guix.texi (Misellaneous Services)[Version Control]: New section.
Co-authored-by: 宋文武 <iyzsong@member.fsf.org>
services: static-networking: Avoid use of net-tools.
* gnu/services/networking.scm (<static-networking>)[net-tools]: Remove.
(static-networking-service-type): Use 'add-network-route/gateway' and
'delete-network-route' instead of NET-TOOLS.
(static-networking-service): Adjust accordingly.
services: dicod-service: Honor 'dicod-configuration-dico'.
* gnu/services/dict.scm (dicod-shepherd-service): Use
'dicod-configuration-dico' of config.
services: static-networking: Add netmask.
Reported by Mathieu Lirzin and Andreas Enge.
* gnu/services/networking.scm (<static-networking>)[netmask]: New
field.
(static-networking-service-type): Honor it.
* gnu/services/networking.scm (static-networking-service): Add #:netmask
and honor it.
* doc/guix.texi (Networking Services): Adjust accordingly.
services: Require wpa-supplicant-service for connman-service.
* gnu/services/networking.scm (connman-shepherd-service): Add
wpa-supplicant among list of requirements.
services: Add wpa-supplicant-service.
* gnu/services/networking.scm (wpa-supplicant-service): New procedure.
(wpa-supplicant-service-type): New variable.
* doc/guix.texi (Networking Services): Document it.
Merge branch 'core-updates'
gnu: Add pam-krb5 service.
* doc/guix.texi (Kerberos Services): New node.
* gnu/services/kerberos.scm: New file.
* gnu/local.mk: Add it.
Merge branch 'master' into core-updates
services: nginx: Virtual hosts are first-class configuration items.
* gnu/services/web.scm (<nginx-vhost-configuration>): New record type.
(config-domain-strings): New procedure.
(config-index-strings): New procedure.
(default-nginx-vhost-config): New procedure.
(default-nginx-config): Add vhost support and temporary directories
(nginx-activation): Create temporary directories
(nginx-service): Add vhost-list key.
* doc/guix.texi (Web Services): Document 'nginx-vhost-configuration'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merge branch 'master' into core-updates
services: ntpd: Add 'allow-large-adjustment?' knob.
Suggested by Leo Famulari.
* gnu/services/networking.scm (<ntp-configuration>)[allow-large-adjustment?]:
New field.
(ntp-shepherd-service): Honor it.
(ntp-service): Add #:allow-large-adjustment? and honor it.
* doc/guix.texi (Networking Services): Document it.
Merge branch 'master' into core-updates