summaryrefslogtreecommitdiff
path: root/gnu/services
AgeCommit message (Collapse)Author
2022-02-26services: pulseaudio: Deploy the configuration files to /etc/pulse.Maxim Cournoyer
* gnu/services/sound.scm (pulseaudio-environment) [PULSE_CONFIG, PULSE_CLIENTCONFIG]: Use fixed locations, and move logic to... (pulseaudio-etc): ... this service extension. Guard against producing empty files.
2022-02-26services: pulseaudio: Add an extra-script-files configuration field.Maxim Cournoyer
* gnu/services/sound.scm (<pulseaudio-configuration>) [extra-script-files]: Add field. (extra-script-files->file-union): New procedure. (append-include-directive): Likewise. (pulseaudio-etc): Use them. * doc/guix.texi: Document the new 'extra-script-files- configuration field.
2022-02-26services/sound: Normalize pulseaudio-configuration accessor names.Maxim Cournoyer
* gnu/services/sound.scm (<pulseaudio-configuration>): Adjust getter names to match convention.
2022-02-25agetty-shepherd-service: Rename console agetty to "term-console" for clarity.Danny Milosavljevic
* gnu/services/base.scm (agetty-shepherd-service)[provision]: Rename console agetty to "term-console".
2022-02-25services: %base-services: Adapt agetty-service-type to depend on syslogdDanny Milosavljevic
Fixes <https://issues.guix.gnu.org/30464>. * gnu/services/base.scm (%base-services): Reorder syslog-service for clarity. [shepherd-requirement]: New field.
2022-02-25services: agetty: Add shepherd-requirement.Danny Milosavljevic
* gnu/services/base.scm (<agetty-configuration>): Add shepherd-requirement. * doc/guix.texi (agetty-configuration): Document it.
2022-02-20services: udev: Use a fixed location for the rules directory and config.Maxim Cournoyer
Fixes <https://issues.guix.gnu.org/47681>. This change adjusts the location of the udev configuration file and rules directory to a fixed location. Since udev relies on inotify to discover change to its rules directory (/etc/udev/rules.d), by using a fixed directory layout, new udev rules can be automatically picked up without restarting the service. * gnu/services/base.scm (udev-rules-union): Build rules output directly in #$output. (udev-shepherd-service)[start]: Adjust the UDEV_CONFIG_FILE and EUDEV_RULES_DIRECTORY environment variables. [actions]: Remove field. The 'rules' action is no longer useful. (udev.conf): New variable. (udev-etc): New procedure. (udev-service-type): Extend the etc-service-type with it.
2022-02-19services: dbus: Increase auth_timeout value to 5 minutes.Maxim Cournoyer
This is a follow-up to 488f1c589df; the problem had re-appeared on my machine. * gnu/services/dbus.scm (dbus-configuration-directory): Increase 'auth_timeout' value from 60000 to 300000 ms (5 minutes).
2022-02-18services: qemu-guest-agent: Fix implementation.Ludovic Courtès
Previously, by accessing the raw <qemu-guest-agent-configuration> fields, 'qemu' would match the first field, which is the '%location' field, not the 'qemu' field. It would seem this bug has always been present since the addition of the 'location' field in d132d9f96ba34bca58b18e293e03b393054fd962 predates the addition of 'qemu-guest-agent-service-type' in f634a0baab85454a6feac25e29905f564b276c9e. Fixes <https://issues.guix.gnu.org/54041>. Reported by Ricardo Wurmus <rekado@elephly.net>. * gnu/services/virtualization.scm (qemu-guest-agent-shepherd-service): Use accessors for <qemu-guest-agent-configuration>.
2022-02-17services: cuirass: Also rotate the web log.Maxim Cournoyer
* gnu/services/cuirass.scm (cuirass-log-rotations): Add the web log to the list of rotated files.
2022-02-17services: web: Rotate mumi logs.Maxim Cournoyer
* gnu/services/web.scm (%mumi-log, %mumi-mailer-log, %mumi-worker-log): New variables. (mumi-shepherd-services): Use them. (%mumi-log-rotations): New variable. (mumi-service-type): Extend rottlog.
2022-02-17services: zabbix: Add requirement on 'user-processes'.Marius Bakke
This ensures the services does not start before mounts are up. Reported by rekado on #guix. * gnu/services/monitoring.scm (zabbix-server-shepherd-service, zabbix-agent-shepherd-service)[requirement]: New field.
2022-02-13doc: Zabbix: Improvide description.Marius Bakke
* doc/guix.texi (Monitoring Services): Document the various 'zabbix-*' service types, and expand description of all Zabbix services. Use less marketing terms. (Web Services): Add subsubheading for PHP-FPM, and anchors for cross-referencing. * gnu/services/monitoring.scm (zabbix-front-end-configuration): Use @ref instead of @pxref for cross-referencing.
2022-02-10services: gdm-service-type: Require elogind.Josselin Poiret
* gnu/services/xorg.scm (gdm-shepherd-service): Make it require elogind. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2022-02-07services: zabbix-frontend: Restore correct variable name.Marius Bakke
This is a follow-up to 326e08bf0f55409f040612001f73a2cc4091c159, et.al. * gnu/services/monitoring.scm (%zabbix-front-end-nginx-configuration): Rename to ... (%zabbix-front-end-configuration-nginx): ... this. (zabbix-front-end-nginx-extension): Adjust accordingly.
2022-02-07services: monitoring: Remove unused procedure.Marius Bakke
This is a follow-up to commit 326e08bf0f55409f040612001f73a2cc4091c159. * gnu/services/monitoring.scm (zabbix-front-end-nginx-configuration): Remove variable.
2022-02-07services: zabbix-front-end: Restore backwards compatibility.Marius Bakke
Commit e301f1a8ed11f9eacb2b7f525a7446dc00621a8b removed the NGINX argument entirely, but users may rely on and override it. Reported by rekado on #guix. * gnu/services/monitoring.scm (%zabbix-front-end-nginx-configuration): Restore exported variable. (zabbix-front-end-nginx-extension): New procedure. (zabbix-front-end-configuration): Remove FASTCGI-PARAMS field. Restore NGINX field, but default to the empty list. (zabbix-front-end-service-type): Extend NGINX-SERVICE-TYPE by ZABBIX-FRONT-END-NGINX-EXTENSION. * doc/guix.texi (Monitoring Services): Regenerate documentation.
2022-02-04services: nar-herder: Support ttl and negative-ttl options.Christopher Baines
* gnu/services/guix.scm (<nar-herder-configuration>): Add ttl and negative-ttl fields. (nar-herder-shepherd-services): Pass the ttl and negative-ttl values to the service. * doc/guix.texi (Guix Services): Document this.
2022-02-02services: patchwork: Set DEFAULT_AUTO_FIELD in settings.Christopher Baines
This resolves some warnings with Django 3.2. This was added by upstream to the base settings https://github.com/getpatchwork/patchwork/commit/43e5c4a0ace4e662c3e3973337445314abbe5247 * gnu/services/web.scm (patchwork-settings-module-compiler): Specify DEFAULT_AUTO_FIELD in the settings module.
2022-02-02services: tlp: Add config variables for battery charging.Attila Lendvai
* gnu/services/pm.scm (tlp-configuration): Add start-charge-thresh-bat0, stop-charge-thresh-bat0, start-charge-thresh-bat1, stop-charge-thresh-bat1. * doc/guix.texi (Power Management Services): Document them. Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
2022-02-01services/sound: Add a udev extension for the pulseaudio service type.Maxim Cournoyer
PulseAudio provides udev rules used to adjust the configuration of certain hardware (e.g., sound cards); ensure they get used. * gnu/services/sound.scm (pulseaudio-service-type): Extend the udev-service-type with the pulseaudio package.
2022-02-01services: zabbix-frontend: Support custom server package.Marius Bakke
* gnu/services/monitoring.scm (%zabbix-front-end-configuration-nginx): Rename to ... (zabbix-front-end-nginx-configuration): ... this. Take server package and FastCGI parameters from ... (zabbix-front-end-configuration): ... here. Add PACKAGE and FASTCGI-PARAMS fields, remove NGINX. (zabbix-front-end-service-type): Adjust for renamed procedure. * doc/guix.texi (Monitoring Services)[Zabbix front-end]: Regenerate documentation.
2022-01-31services: guix: Add nar-herder-service-type.Christopher Baines
* gnu/services/guix.scm (<nar-herder-configuration>): New record type. (nar-herder-configuration, nar-herder-configuration?, nar-herder-configuration-package, nar-herder-configuration-user, nar-herder-configuration-group, nar-herder-configuration-mirror nar-herder-configuration-database nar-herder-configuration-database-dump nar-herder-configuration-host nar-herder-configuration-port nar-herder-configuration-storage nar-herder-configuration-storage-limit nar-herder-configuration-storage-nar-removal-criteria nar-herder-shepherd-services, nar-herder-activation, nar-herder-account): New procedures. (nar-herder-service-type): New variable. * gnu/tests/guix.scm (%test-nar-herder): New variable. * doc/guix.texi (Guix Services): Document the new service.
2022-01-30services: zabbix: Support gexps in configuration serializer.Marius Bakke
This makes it possible to do e.g. (include-files (list (local-file "foo.conf"))). * gnu/services/monitoring.scm (serialize-field, serialize-list, serialize-include-files, serialize-extra-options): Rewrite as gexps. (zabbix-server-config-file, zabbix-agent-config-file): Simplify builders by using FORMAT.
2022-01-29services: postgresql: Export missing <postgresql-configuration> accessor.Marius Bakke
* gnu/services/databases.scm: Export POSTGRESQL-CONFIGURATION-EXTENSION-PACKAGES.
2022-01-29services: zabbix-agent: Set the PATH variable.Marius Bakke
* gnu/services/monitoring.scm (zabbix-agent-shepherd-service)[start]: Set the PATH variable to the common values.
2022-01-29services: zabbix-frontend: Adjust indentation.Marius Bakke
* gnu/services/monitoring.scm (zabbix-front-end-activation): Reindent.
2022-01-29services: zabbix-frontend: Enable IEEE754-compatible history values.Marius Bakke
* gnu/services/monitoring.scm (zabbix-front-end-config): Specify $DB['DOUBLE_IEEE754'] in the configuration file, as per current example.
2022-01-29services: zabbix-server: Add shepherd actions for runtime control commands.Marius Bakke
* gnu/services/monitoring.scm (zabbix-server-runtime-control-procedure, zabbix-server-actions): New variables. (zabbix-server-shepherd-service)[actions]: New field. Let-bind variables common between actions and the start procedure.
2022-01-29services: zabbix-frontend: Fix configuration file for hard coded passwords.Marius Bakke
This is a follow-up to commit 078f5bfae7ee174177791defcfd350117a503a6d. * gnu/services/monitoring.scm (zabbix-front-end-config): When DB-PASSWORD is set, enclose the password with quotes in the configuration file.
2022-01-26services: zabbix-server: Do not write database password to the store.Marius Bakke
* gnu/services/monitoring.scm (zabbix-front-end-config): Read the secret file from zabbix.conf.php at runtime instead of embedding the contents.
2022-01-26services: zabbix-agent: Respect user and group configuration.Marius Bakke
* gnu/services/monitoring.scm (zabbix-agent-account): Look up user and group from CONFIG instead of hard-coded values.
2022-01-20services: guix-publish: Add negative-ttl parameter.Guillaume Le Vaillant
* gnu/services/base.scm (guix-publish-configuration): Add 'negative-ttl' field. (guix-publish-sheperd-service): Process it. * doc/guix.texi (Base Services)[guix-publish-service-type]: Add item for negative-ttl.
2022-01-18daemon: Always default to gzip for log compression.Ludovic Courtès
* nix/libstore/globals.cc (Settings::Settings): Have 'logCompression' default to COMPRESSION_GZIP unconditionally. * gnu/services/base.scm (<guix-configuration>)[log-compression]: Default to 'gzip. * doc/guix.texi (Invoking guix-daemon, Base Services): Adjust accordingly.
2022-01-16services: guix: Add tar and gzip to PATH.Timothy Sample
* gnu/services/base.scm (guix-shepherd-service): Add the PATH environment-variable and populate it with tar and gzip.
2022-01-17services: pam-mount: Add support for sddm login manager.Nick Zalutskiy
I noticed that pam_mount mounts work fine when loging into a textual session, but not when using sddm. This patch fixes this problem by ensuring that pam_mount.so is included in /etc/pam.d/sddm config file. * gnu/services/pam-mount.scm (pam-mount-pam-service): Add sddm to the list of pam services. Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
2022-01-13services: Adjust the jami service for the upgraded jami.Maxim Cournoyer
* gnu/services/telephony.scm (jami-configuration)[jamid]: Rename libring to libjami. * gnu/services/telephony.scm (jami-configuration->command-line-arguments): Adjust daemon file name. * gnu/services/telephony.scm (jami-service-type): Adjust doc. * gnu/tests/telephony.scm (run-jami-test): Check for 'jamid' process, not 'dring'. * doc/guix.texi (Telephony Services): Adjust doc for the jami-qt to jami and libring to libjami packages renaming.
2022-01-11services: laminar: Set LAMINAR_BIND_RPC environment variable.Arun Isaac
Earlier, the bind-rpc field of <laminar-configuration> was not used at all. This was a bug. * gnu/services/ci.scm (laminar-shepherd-service): Use bind-rpc to set LAMINAR_BIND_RPC environment variable.
2022-01-08services: set-xorg-configuration: Use target-x86-64?.Chris Marusich
* gnu/services/xorg.scm (set-xorg-configuration)[login-manager-service-type]: Use target-x86-64? from (guix utils) to decide if the system is an x86_64 system instead of comparing the strings ourselves.
2022-01-08services: networking: Add netmask to loopback address.Ludovic Courtès
Previously, we would get a fishy 127.0.0.1/0 interface: $ ip a show dev lo 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet 127.0.0.1/0 scope global lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever With this change, we get nothing but the "/8" version: $ ip a show dev lo 1: lo: <LOOPBACK,MULTICAST,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope global lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever Reported by Yann Dupont <Yann.Dupont@univ-nantes.fr>. * gnu/services/base.scm (assert-valid-address): Remove special cases for 127.0.0.1 and ::1. (%loopback-static-networking): Add "/8".
2022-01-06services: Consistently use SDDM rather than GDM on non-x86_64.Chris Marusich
This is a follow-up to 49599fab564f203b8e92d32e9b28c99e99849bfb. Fixes: <https://issues.guix.gnu.org/52908>. * gnu/services/xorg.scm (set-xorg-configuration)[login-manager-service-type]: When the current system or target system begins with the string "x86_64", use gdm-service-type as before; otherwise, use sddm-service-type. * gnu/system/examples/vm-image.tmpl (services): Add sddm-service-type to the list of service types to remove.
2022-01-06services: gnome: Add udev rules.Mathieu Othacehe
Fixes: <https://issues.guix.gnu.org/32166>. * gnu/services/desktop.scm (gnome-packages, gnome-udev-rules): New procedures. (gnome-polkit-settings): Use the gnome-packages procedure. (gnome-desktop-service-type): Add an udev service extension.
2022-01-06services: Document the full list of available NTP URLs.Leo Famulari
* gnu/services/networking.scm (%ntp-servers): List the URLs granted to us.
2022-01-02services: guix-build-coordinator: Fix variable name in agent config.Christopher Baines
* gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): Fix variable name. * doc/guix.texi (Guix Services): Update accordingly.
2022-01-02gnu: Add guix-build-coordinator/agent-only.Christopher Baines
This avoids issues where the coordinator component dependencies (like sqitch and guile-fibers) make it harder to use the agent. * gnu/packages/package-management.scm (guix-build-coordinator/agent-only): New variable. * gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>): Use the guix-build-coordinator/agent-only package by default. * doc/guix.texi (Guix Services): Update accordingly.
2021-12-23services: nfs: Fix statd and mountd ports.Mathieu Othacehe
* gnu/services/nfs.scm (nfs-shepherd-services): Fix rpcstatd-port and rpcmountd-port arguments.
2021-12-22services: dbus: Wait 1 minute for elogind to get ready.Timothy Sample
Fixes <https://issues.guix.gnu.org/issue/52051>. * gnu/services/dbus.scm (dbus-configuration-directory): Set a 60 second authentication timeout in the D-Bus configuration.
2021-12-22services: wireguard: Add DNS config field.Nathan Dehnel
* gnu/services/vpn.scm (wireguard-configuration)[dns]: New field. (wireguard-configuration-file): Honor it. * doc/guix.texi: Document it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-12-21services: static-networking: Enable multicast by default.Mathieu Othacehe
Fixes: <https://issues.guix.gnu.org/52520>. * gnu/services/base.scm (network-set-up/linux): Enable it.
2021-12-21services: rsync: Allow configuring several rsync "modules".Ludovic Courtès
Until now the rsync service would export a single module, named "files". This allows users to specify as many modules as they want, in line with rsyncd.conf(5). * gnu/services/rsync.scm (warn-share-field-deprecation): New procedure. (<rsync-configuration>)[modules]: New field. [share-path, share-comment, read-only?, timeout]: Mark as deprecated. (<rsync-module>): New record type. (%default-modules): New variable. (rsync-configuration-modules): New procedure. (rsync-activation): Create the directory of each module. (rsync-config-file): Generate configuration for each module. (rsync-service-type)[description]: New field. * doc/guix.texi (Networking Services): Adjust documentation. Augment example.