guix/gnu/services
Bruno Victal 6f48efa9b8
services: configuration: Add user-defined sanitizer support.
This changes the 'custom-serializer' field into a generic
'extra-args' field that can be extended to support new literals.
Within extra-args, the literals 'sanitizer' and 'serializer' allow
for user-defined sanitization and serialization procedures respectively.
The 'empty-serializer' was also added as a literal to be used as before.

To prevent confusion between the new “explicit” style of specifying
a sanitizer, and the old “implicit” style, the latter has been
deprecated, and a warning is issued if it is encountered.

* gnu/services/configuration.scm (define-configuration-helper):
Rename 'custom-serializer' to 'extra-args'.  Add support for literals
'sanitizer', 'serializer' and 'empty-serializer'.  Rename procedure
'field-sanitizer' to 'default-field-sanitizer' to avoid syntax clash.
Only define default field sanitizers if user-defined ones are absent.
(normalize-extra-args): New variable.
(<configuration-field>)[sanitizer]: New field.
* doc/guix.texi (Complex Configurations): Document the newly added
literals.
* tests/services/configuration.scm: Add tests for the new literals.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-04-02 12:31:51 +02:00
..
admin.scm
audio.scm services: mpd: Set PulseAudio-related variables. 2023-03-24 11:01:01 -04:00
auditd.scm
authentication.scm
avahi.scm
base.scm services: pam-limits-service-type: Deprecate file-like object support in favour for lists as service value. 2023-03-30 23:18:16 +02:00
certbot.scm
cgit.scm
ci.scm
configuration.scm services: configuration: Add user-defined sanitizer support. 2023-04-02 12:31:51 +02:00
cuirass.scm
cups.scm
databases.scm
dbus.scm
desktop.scm services: Add x11-socket-directory-service-type. 2023-03-21 16:53:27 -04:00
dict.scm
dns.scm
docker.scm
file-sharing.scm
games.scm
ganeti.scm
getmail.scm
guix.scm
herd.scm services: herd: Remove workaround for Shepherd < 0.5.0. 2023-03-26 23:24:23 +02:00
hurd.scm
kerberos.scm
ldap.scm
lightdm.scm
linux.scm services: fstrim: Fix schedule ungexp. 2023-03-28 22:22:51 -04:00
lirc.scm
mail.scm
mcron.scm services: mcron: Add log-file and date-format fields. 2023-03-21 14:51:24 -04:00
messaging.scm
monitoring.scm
networking.scm services: ntpd: Add 'configuration' action. 2023-03-27 18:48:51 +02:00
nfs.scm
nix.scm
pam-mount.scm
pm.scm
rsync.scm
samba.scm
science.scm
sddm.scm
security-token.scm
security.scm
shepherd.scm
sound.scm
spice.scm
ssh.scm
syncthing.scm
sysctl.scm
telephony.scm
version-control.scm
virtualization.scm
vnc.scm
vpn.scm
web.scm
xorg.scm services: xorg-wrapper: Support xorg server input rewriting. 2023-03-25 10:06:36 +08:00