summaryrefslogtreecommitdiff
path: root/gnu/services
AgeCommit message (Expand)Author
2022-03-20services: thermald: Add 'adaptive?' field....* gnu/services/pm.scm (<thermald-configuration>): Add 'adaptive?' field. (thermald-shepherd-service): Use it to pass --adaptive to thermald. * doc/guix.texi (Power Management Services): Document the 'adaptive?' field of 'thermald-configuration'. Jelle Licht
2022-03-17Revert "services: nfs: Define rpcbind-shepherd-service at the top level."...This reverts commit 0a9e82b43080275a2755624f3208287056dc9f95, which didn't end up fixing anything. The problem was elsewhere; namely, using 'operating-system-services' instead of 'operating-system-user-services'. Maxim Cournoyer
2022-03-17services: nfs: Define rpcbind-shepherd-service at the top level....Attempting to use the 'nfs-service-type' as part of a computed operating-system definition, the following exception would be thrown: ice-9/boot-9.scm:1685:16: In procedure raise-exception: ERROR: 1. &ambiguous-target-service-error: service: #<<service> type: #<service-type rpcbind 7f7529853780> value: #<<rpcbind-configuration> rpcbind: #<package rpcbind@1.2.6 gnu/packages/onc-rpc.scm:87 7f75389e78f0> warm-start?: #t>> target-type: #<service-type shepherd-root 7f7529396080> 2. &message: "more than one target service of type 'shepherd-root'" The problem was that the rpcbind shepherd-service object was dynamically instantiated every time the rpcbind-service-type would be called, causing multiple objects in some situations, resulting in the above condition. * gnu/services/nfs.scm (rpcbind-service-type): Refactor and adjust in a way to extract... (rpcbind-shepherd-service): ... this new procedure. Maxim Cournoyer
2022-03-10services: openssh: Change 'authorized-keys' accessor name....* gnu/services/ssh.scm (<openssh-configuration>)[authorized-keys]: Rename accessor to 'openssh-configuration-authorized-keys'. (openssh-activation, extend-openssh-authorized-keys): Adjust accordingly. Ludovic Courtès
2022-03-10services: secret-service: Do not generate SSH and Guix key pairs....The justification about the order of activation snippets given in the comment had been obsolete since 39e3b4b7cee175a3c1f37329744c582528d55f5d. Lately, running the activation snippets for "ssh-keygen -A" and "guix archive --generate-key" would take a little bit too long, thereby preventing the childhurd from starting on time. * gnu/services/virtualization.scm (secret-service-operating-system): Clear 'generate-host-keys?' and 'generate-substitute-key?'. Ludovic Courtès
2022-03-10services: openssh: Add 'generate-host-keys?' field....* gnu/services/ssh.scm (<openssh-configuration>)[generate-host-keys?]: New field. (openssh-activation): Honor it. * doc/guix.texi (Networking Services): Document it. Ludovic Courtès
2022-03-10services: guix: Add 'generate-substitute-key?' field....* gnu/services/base.scm (<guix-configuration>)[generate-substitute-key?]: New field. (guix-activation): Honor it. * doc/guix.texi (Base Services): Document it. Ludovic Courtès
2022-03-09services: bluetooth: Add missing config parameters....* doc/guix.texi (Desktop Services): Document 'bluetooth-service-type' and 'bluetooth-configuration'. * gnu/services/desktop.scm (<bluetooth-configuration>): Add many fields. (bluetooth-configuration-file): Handle them. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Demis Balbach
2022-03-03services: openvpn: Actually save log file....* gnu/services/vpn.scm (openvpn-shepherd-service): Pass #:log-file to 'make-forkexec-constructor'. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Cameron Chaparro
2022-02-26services: pulseaudio: Deploy the configuration files to /etc/pulse....* 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. Maxim Cournoyer
2022-02-26services: pulseaudio: Add an extra-script-files configuration field....* 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. Maxim Cournoyer
2022-02-26services/sound: Normalize pulseaudio-configuration accessor names....* gnu/services/sound.scm (<pulseaudio-configuration>): Adjust getter names to match convention. Maxim Cournoyer
2022-02-25agetty-shepherd-service: Rename console agetty to "term-console" for clarity....* gnu/services/base.scm (agetty-shepherd-service)[provision]: Rename console agetty to "term-console". Danny Milosavljevic
2022-02-25services: %base-services: Adapt agetty-service-type to depend on syslogd...Fixes <https://issues.guix.gnu.org/30464>. * gnu/services/base.scm (%base-services): Reorder syslog-service for clarity. [shepherd-requirement]: New field. Danny Milosavljevic
2022-02-25services: agetty: Add shepherd-requirement....* gnu/services/base.scm (<agetty-configuration>): Add shepherd-requirement. * doc/guix.texi (agetty-configuration): Document it. Danny Milosavljevic
2022-02-20services: udev: Use a fixed location for the rules directory and config....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. Maxim Cournoyer
2022-02-19services: dbus: Increase auth_timeout value to 5 minutes....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). Maxim Cournoyer
2022-02-18services: qemu-guest-agent: Fix implementation....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>. Ludovic Courtès
2022-02-17services: cuirass: Also rotate the web log....* gnu/services/cuirass.scm (cuirass-log-rotations): Add the web log to the list of rotated files. Maxim Cournoyer
2022-02-17services: web: Rotate mumi logs....* 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. Maxim Cournoyer
2022-02-17services: zabbix: Add requirement on 'user-processes'....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. Marius Bakke
2022-02-13doc: Zabbix: Improvide description....* 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. Marius Bakke
2022-02-10services: gdm-service-type: Require elogind....* gnu/services/xorg.scm (gdm-shepherd-service): Make it require elogind. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Josselin Poiret
2022-02-07services: zabbix-frontend: Restore correct variable name....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. Marius Bakke
2022-02-07services: monitoring: Remove unused procedure....This is a follow-up to commit 326e08bf0f55409f040612001f73a2cc4091c159. * gnu/services/monitoring.scm (zabbix-front-end-nginx-configuration): Remove variable. Marius Bakke
2022-02-07services: zabbix-front-end: Restore backwards compatibility....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. Marius Bakke
2022-02-04services: nar-herder: Support ttl and negative-ttl options....* 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. Christopher Baines
2022-02-02services: patchwork: Set DEFAULT_AUTO_FIELD in settings....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. Christopher Baines
2022-02-02services: tlp: Add config variables for battery charging....* 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> Attila Lendvai
2022-02-01services/sound: Add a udev extension for the pulseaudio service type....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. Maxim Cournoyer
2022-02-01services: zabbix-frontend: Support custom server package....* 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. Marius Bakke
2022-01-31services: guix: Add nar-herder-service-type....* 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. Christopher Baines
2022-01-30services: zabbix: Support gexps in configuration serializer....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. Marius Bakke
2022-01-29services: postgresql: Export missing <postgresql-configuration> accessor....* gnu/services/databases.scm: Export POSTGRESQL-CONFIGURATION-EXTENSION-PACKAGES. Marius Bakke
2022-01-29services: zabbix-agent: Set the PATH variable....* gnu/services/monitoring.scm (zabbix-agent-shepherd-service)[start]: Set the PATH variable to the common values. Marius Bakke
2022-01-29services: zabbix-frontend: Adjust indentation....* gnu/services/monitoring.scm (zabbix-front-end-activation): Reindent. Marius Bakke
2022-01-29services: zabbix-frontend: Enable IEEE754-compatible history values....* gnu/services/monitoring.scm (zabbix-front-end-config): Specify $DB['DOUBLE_IEEE754'] in the configuration file, as per current example. Marius Bakke
2022-01-29services: zabbix-server: Add shepherd actions for runtime control commands....* 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. Marius Bakke
2022-01-29services: zabbix-frontend: Fix configuration file for hard coded passwords....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. Marius Bakke
2022-01-26services: zabbix-server: Do not write database password to the store....* gnu/services/monitoring.scm (zabbix-front-end-config): Read the secret file from zabbix.conf.php at runtime instead of embedding the contents. Marius Bakke
2022-01-26services: zabbix-agent: Respect user and group configuration....* gnu/services/monitoring.scm (zabbix-agent-account): Look up user and group from CONFIG instead of hard-coded values. Marius Bakke
2022-01-20services: guix-publish: Add negative-ttl parameter....* 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. Guillaume Le Vaillant
2022-01-18daemon: Always default to gzip for log compression....* 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. Ludovic Courtès
2022-01-16services: guix: Add tar and gzip to PATH....* gnu/services/base.scm (guix-shepherd-service): Add the PATH environment-variable and populate it with tar and gzip. Timothy Sample
2022-01-17services: pam-mount: Add support for sddm login manager....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> Nick Zalutskiy
2022-01-13services: Adjust the jami service for the upgraded jami....* 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. Maxim Cournoyer
2022-01-11services: laminar: Set LAMINAR_BIND_RPC environment variable....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. Arun Isaac
2022-01-08services: set-xorg-configuration: Use target-x86-64?....* 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. Chris Marusich
2022-01-08services: networking: Add netmask to loopback address....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". Ludovic Courtès
2022-01-06services: Consistently use SDDM rather than GDM on non-x86_64....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. Chris Marusich