guix/gnu/services
Bruno Victal 5c5f0fc113
services: mpd: Refactor MPD service.
Refactor mpd-service-type to support additional mpd.conf directives
and move activation-service-extension into service constructor.

* gnu/services/audio.scm (mpd-plugin, mpd-partition): New records.

(mpd-serialize-boolean): Alias to and integrate logic into...
(mpd-serialize-field): ... this.
(mpd-serialize-list-of-string): New variable.

(mpd-plugin?, mpd-partition?, list-of-string?, list-of-symbol?)
(list-of-mpd-plugin?, list-of-mpd-partition?)
(list-of-mpd-plugin-or-output?, port?): New variables.

(mpd-file-name, mpd-service-activation): Remove variables.

(mpd-configuration)
[package, group, shepherd-requirement, log-file, log-level, music-directory]
[playlist-directory, endpoints, database, partitions, neighbors, inputs]
[archive-plugins, input-cache-size, decoders, resampler, filters]
[playlist-plugins, extra-options]: New fields.
[music-dir, playlist-dir, address]: Deprecate shorthand fields.
[db-file, state-file, sticker-file, port, outputs]: Change admissible type.

(mpd-shepherd-service)
[actions]: New shepherd actions: 'reopen' and 'configuration'.
[requirement]: Splice with 'shepherd-requirement' field.
[start]: Use 'package' field. Remove #:log-file parameter.
Move activation-service extension into constructor.

(mpd-accounts): Honor user and group names from configuration.
(mpd-log-rotation): New procedure.
(mpd-service-type)[extensions]: Add rottlog-service-type extension.
Remove activation-service-type extension.

(mpd-output-name, mpd-output-type, mpd-output-enabled?, mpd-output-format)
(mpd-output-tags?, mpd-output-always-on?, mpd-output-mixer-type)
(mpd-output-replay-gain-handler, mpd-output-extra-options)
(mpd-plugin-plugin, mpd-plugin-name, mpd-plugin-enabled?)
(mpd-plugin-extra-options)
(mpd-partition-name, mpd-partition-extra-options)
(mpd-configuration-package, mpd-configuration-user)
(mpd-configuration-group, mpd-configuration-shepherd-requirement)
(mpd-configuration-log-file, mpd-configuration-log-level)
(mpd-configuration-music-directory, mpd-configuration-music-dir)
(mpd-configuration-playlist-directory, mpd-configuration-playlist-dir)
(mpd-configuration-db-file, mpd-configuration-state-file)
(mpd-configuration-sticker-file, mpd-configuration-default-port)
(mpd-configuration-endpoints, mpd-configuration-address)
(mpd-configuration-database, mpd-configuration-partitions)
(mpd-configuration-neighbors, mpd-configuration-inputs)
(mpd-configuration-archive-plugins, mpd-configuration-input-cache-size)
(mpd-configuration-decoders, mpd-configuration-resampler)
(mpd-configuration-filters, mpd-configuration-outputs)
(mpd-configuration-playlist-plugins, mpd-configuration-extra-options): Export accessors.

* doc/guix.texi (Audio Services)[Music Player Daemon]: Update documentation.

Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-02-05 06:56:43 +01:00
..
admin.scm services: unattended-upgrade: Add 'operating-system-expression' field. 2023-01-10 11:49:14 +01:00
audio.scm services: mpd: Refactor MPD service. 2023-02-05 06:56:43 +01:00
auditd.scm services: Accept <inferior-package>s in lieu of <package>s. 2021-11-30 01:08:55 +01:00
authentication.scm services: configuration: Use *unspecified* instead of 'disabled. 2022-06-15 00:25:21 +02:00
avahi.scm services: Add Shepherd 'configuration' action to various services. 2022-11-18 15:44:39 +01:00
base.scm services: greetd: Add 'source-profile?' configuration field. 2023-01-15 20:30:12 +01:00
certbot.scm services: certbot: Fix broken link. 2023-01-03 16:34:44 -05:00
cgit.scm services: configuration: Use *unspecified* instead of 'disabled. 2022-06-15 00:25:21 +02:00
ci.scm services: laminar: Set LAMINAR_BIND_RPC environment variable. 2022-01-11 11:47:42 +05:30
configuration.scm services: configuration: Remove orphan reference to example. 2022-12-14 12:44:02 +01:00
cuirass.scm records: 'match-record' checks fields at macro-expansion time. 2022-12-08 13:21:23 +01:00
cups.scm Merge remote-tracking branch 'origin/master' into core-updates-frozen 2021-12-05 19:17:41 +01:00
databases.scm services: mysql: Run mariadb-install-db instead of hard coding schemas. 2022-11-20 17:54:05 +01:00
dbus.scm gnu: services: Export polkit-configuration. 2023-01-16 15:08:22 +08:00
desktop.scm services: enlightenment: Load ddcutil udev rules. 2022-12-30 15:17:44 +02:00
dict.scm services: Add Shepherd 'configuration' action to various services. 2022-11-18 15:44:39 +01:00
dns.scm services: ddclient: No need to import (ice-9 rdelim) from the host. 2022-06-04 00:11:44 +02:00
docker.scm services: docker: Fix race condition. 2022-07-13 21:36:41 -04:00
file-sharing.scm services: Use the new maybe/unset API. 2022-08-25 00:10:32 -04:00
games.scm gnu: services: Add joycond-service. 2023-01-14 07:53:21 -05:00
ganeti.scm services: ganeti: Label mcron jobs. 2022-12-25 14:15:59 +01:00
getmail.scm records: 'match-record' checks fields at macro-expansion time. 2022-12-08 13:21:23 +01:00
guix.scm services: nar-herder: Add cached compression support. 2023-02-03 15:18:44 +01:00
herd.scm services: herd: Add 'wait-for-service'. 2022-05-28 23:23:36 +02:00
hurd.scm services: Accept <inferior-package>s in lieu of <package>s. 2021-11-30 01:08:55 +01:00
kerberos.scm services: Use the new maybe/unset API. 2022-08-25 00:10:32 -04:00
ldap.scm gnu: slapd-configuration: Update default for run-dir. 2022-12-14 22:56:00 +01:00
lightdm.scm services: lightdm: Do not use GOOPS. 2022-11-19 19:54:14 +01:00
linux.scm system: Align zram priority with swap-space spec to clarify. 2022-06-11 00:57:13 -04:00
lirc.scm services: Add missing 'description' fields. 2022-04-29 18:07:16 +02:00
mail.scm services: opensmtpd: Add 'shepherd-requirement' field. 2022-12-20 16:56:04 +01:00
mcron.scm Revert "services: configuration: Revert to a working ‘guix home’." 2022-11-17 06:49:51 -05:00
messaging.scm services: configuration: Change the value of the unset marker. 2022-08-25 00:10:42 -04:00
monitoring.scm services: zabbix-server: Increase Shepherd grace period. 2022-12-12 15:12:58 +01:00
networking.scm services: connman: Add iwd backend support. 2023-01-16 20:59:30 +04:00
nfs.scm services: pipefs: Correctly handle lack of extensions. 2022-05-03 18:02:27 +02:00
nix.scm services: nix: Fix nix-shepherd-service. 2022-12-15 10:13:24 +00:00
pam-mount.scm gnu: base: Add greetd-service-type. 2022-06-17 10:30:41 +02:00
pm.scm services: configuration: Use *unspecified* instead of 'disabled. 2022-06-15 00:25:21 +02:00
rsync.scm services: rsync: Allow configuring several rsync "modules". 2021-12-21 15:47:03 +01:00
samba.scm services: samba: Remove unused variables and modules. 2022-09-28 09:57:30 -04:00
science.scm services: Accept <inferior-package>s in lieu of <package>s. 2021-11-30 01:08:55 +01:00
sddm.scm
security-token.scm
security.scm gnu: services: Fix fail2ban configuration serialization. 2023-01-10 10:47:27 -05:00
shepherd.scm services: shepherd: Define 'shepherd-configuration-action' helper. 2022-11-18 15:44:39 +01:00
sound.scm services: pulseaudio: Fix /etc/pulse/default.pa not being used. 2022-12-28 16:58:03 -05:00
spice.scm services: Add missing 'description' fields. 2022-04-29 18:07:16 +02:00
ssh.scm services: Add Shepherd 'configuration' action to various services. 2022-11-18 15:44:39 +01:00
syncthing.scm services: Accept <inferior-package>s in lieu of <package>s. 2021-11-30 01:08:55 +01:00
sysctl.scm services: Add missing 'description' fields. 2022-04-29 18:07:16 +02:00
telephony.scm services: jami-service-type: Streamline stop slot. 2022-09-23 23:56:16 -04:00
version-control.scm services: git-daemon: Deprecate 'git-daemon-service' procedure. 2023-01-10 11:49:13 +01:00
virtualization.scm gnu: Fix copyright line. 2022-11-20 12:00:04 +00:00
vnc.scm Revert "Revert "services: Add xvnc-service-type."" 2022-10-07 15:07:48 -04:00
vpn.scm services: wireguard: Allow specifying pre-shared keys. 2022-12-25 16:56:48 +01:00
web.scm services: hpcguix-web: Provide default values. 2023-01-22 18:12:09 +01:00
xorg.scm services: Add Shepherd 'configuration' action to various services. 2022-11-18 15:44:39 +01:00