aboutsummaryrefslogtreecommitdiff
path: root/gnu/services
AgeCommit message (Expand)Author
2025-03-21services: openvpn: Allow configuring the `mssfix' option in client.•••This is useful for clients in networks where UDP packet fragmentation doesn't work. * gnu/services/vpn.scm (maybe-mtu?): New variable. (serialize-maybe-mtu): New variable. (openvpn-client-configuration)[mssfix]: New field. Change-Id: I8262a8ac8bda9ea76e7398ba421bba4437732ebe W. Kosior
2025-03-21services: openvpn: Allow the client to hardcode DNS servers to use.•••* gnu/services/vpn.scm (%ipv4-regex): New variable. (dhcp-option-dns-list?): New variable. (serialize-dhcp-option-dns-list): New variable. (openvpn-client-configuration)[dns]: New field. Change-Id: Ic4e8184f47bf3f1d5b683c4dc737f6abba8d2f9e W. Kosior
2025-03-21services: openvpn: Allow putting arbitrary text server's ccd config.•••* gnu/services/vpn.scm (verbatim-text?): New variable. (serialize-verbatim-text): New variable. (openvpn-ccd-configuration)[opaque-configuration]: New field. Change-Id: I1becf66bb2e41237595e45cd23c20800d3ffe239 W. Kosior
2025-03-21services: openvpn: Allow OpenVPN client to dictate route(s) it sets.•••* gnu/services/vpn.scm (maybe-ip-mask?): New variable. (serialize-maybe-ip-mask): New variable. (pull-route?): New variable. (serialize-pull-route): New variable. (openvpn-client-configuration)[pull-route?]: New field. (openvpn-client-configuration)[route]: New field. Change-Id: Ief6390e905612420ad249c9ecd80a46caad2e378 W. Kosior
2025-03-21services: openvpn: Allow using up/down scripts bundled with OpenVPN.•••This is useful for example to pull DNS settings from the server. * gnu/services/vpn.scm (use-up-down-scripts?): New variable. (serialize-use-up-down-scripts): New variable. (make-up-down-config-options): New variable. (make-script-security-cli-options): New variable. (openvpn-client-configuration)[use-up-down-scripts?]: New field. (openvpn-config-file): Serialize that field. (openvpn-shepherd-service): Pass `--script-security' option to daemon. Change-Id: I1141dd0b9bf5956f13cf1552c2718b0a7035fa86 W. Kosior
2025-03-21services: shepherd: Allow extensions to alter shepherd root config.•••This, in particular, enables system administrator to use a different (modified) shepherd package for the init. * gnu/services/shepherd.scm (shepherd-root-service-type)[extend]: When an extension is a procedure, do not treat it as an extra shepherd service to append. Instead, pass the resulting config through it. Change-Id: I39c394ab0798b7a1f8d373c19becf01c4870d10b W. Kosior
2025-03-21services: Allow specifying user and group for knot resolver.•••Kresd used to start as root and create cache files with root ownership before dropping privileges. This made unprivileged kres-cache-gc (in a separate service) fail when trying to read them. The new default is to start both as `knot-resolver', with configuration fields that allow overriding this default. * gnu/services/dns.scm (<knot-resolver-configuration>)[user]: New field. (<knot-resolver-configuration>)[group]: New field. (knot-resolver-shepherd-services): Pass the user&group from config to forkexec constructors. Change-Id: Id06a8eca140fdca14995a03e910f521d5f4636e5 W. Kosior
2025-03-21services: Update cron service to use `privileged-program' API.•••Uses of deprecated `setuid-program' get replaced with new `privileged-program'. * gnu/services/mcron.scm (cron-daemon-setuid-programs): Use `privileged-program'. (cron-daemon-service-type): Extend `privileged-program-service-type'. Change-Id: I819bf75a0bb23c9b2e97ebcb144ca8adb81a9dde W. Kosior
2025-03-21gnu: mcron: Add traditional cron service.•••TODO: write good changelog entry Change-Id: Ib1e8f1afcbaae302eac51883e3b02a1d2c32a89e W. Kosior
2025-03-21services: Add epicyon-service-type.•••* gnu/services/web.scm (define-module): Use `util-linux' from `(gnu packages linux)'. [#:export]: Export new service type as well as configuration constructor, predicate and getters. (<epicyon-configuration>): New variable. (epicyon-activation): New procedure. (%epicyon-passwd): New variable. (%ensure-epicyon-overlay-unmounted): New variable. (epicyon-shepherd-services): New procedure. (epicyon-service-type): New variable. Change-Id: I9e786594b75b588099d3b9f6b0ab5663903c9db4 W. Kosior
2025-03-21services: ldap: Increase pid file timeout for 389-ds.•••* gnu/services/ldap.scm (directory-server-shepherd-service): Add `#:pid-file-timeout 30`. Change-Id: Ie7b3a7c7347b53d4e3629ef2de53c3a76f6751c0 Wojtek Kosior
2025-03-21services: ldap: Fix exported name.•••* gnu/services/ldap.scm (use-modules): Export `backend-userroot-configuration' instead of non-existent `backend-configuration'. Change-Id: I07c6d1c777bc42fa4afc3f23dc9d36080beb5bbc Wojtek Kosior
2025-03-21services: Add overlayfs-service-type.•••The `overlayfs-service-type` allows overlay filesystems to be automatically mounted upon boot and reconfiguration. * gnu/services/overlayfs.scm: New file. * gnu/local.ml (GNU_SYSTEM_MODULES): Add it. Change-Id: I94bb3e3a29648faa354931f3c1cebc5947ab1d5c Wojtek Kosior
2025-03-21services: certbot: Facilitate granting key read access to groups.•••* gnu/services/certbot.scm (certificate-configuration)[key-read-group]: New field. (certbot-deploy-hook): Ensure requested group has the right access. (certbot-command): Pass the requested group to `certbot-deploy-hook'. (set-key-access-gexp): New procedure. (generate-certificate-gexp) Ensure the requested group has the right access. Change-Id: Ia46454a7d2b042cfb682d1d8a7e04aebbc9c19da W. Kosior
2025-03-21services: certbot: Allow it to be used without Nginx.•••* gnu/services/certbot.scm (define-module)[#:export]: Add `certbot-sans-nginx-service-type'. (certbot-configuration)[service-reload]: Add field. (certbot-configuration)[service-requirement]: Add field. (certbot-deploy-hook): Reload requested services rather than hardcoded Nginx. (certbot-command): Pass services to reload to `certbot-deploy-hook'. (certbot-renewal-one-shot): Pass depended services to Shepherd as configured instead of passing hardcoded Nginx. (certbot-sans-nginx-service-type): New variable. (certbot-service-type): Avoid code duplication by inheriting from the above service type. Change-Id: Ic833f24989bbcdcbbc273f9c8eae4c56992aafa0 Wojtek Kosior
2025-03-21services: Add snakeoil-service-type.•••The `snakeoil-service-type' generates self-issued certificates for use by various system daemons. * gnu/services/ca.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Change-Id: I57bbe51f43958c0f2f437d81645ce44f9a68470b Wojtek Kosior
2025-03-21services: exim: Allow configuring a periodic queue runner.•••The runner now by default runs every 5 minutes. Previously it didn't run at all which pretty much crippled Exim's functionality. * gnu/services/mail.scm (<exim-configuration>)[queue-period]: New field. (exim-shepherd-service): Pass period (unless disabled) with Exim's `-q' option and remove the verbosity flag. Change-Id: Ia8f25d93543b761e1a058c30f2f6ddf11943aa57 W. Kosior
2025-03-21services: Update Exim service to use `privileged-program' API.•••Uses of deprecated `setuid-program' get replaced with new `privileged-program'. * gnu/services/mail.scm (exim-setuids): Call `privileged-program' record constructor macro. (exim-service-type): Extend `privileged-program-service-type' Change-Id: Idb00e45ddcc50a37303dc50fe1feef73a109f219 W. Kosior
2025-03-21services: Support running Exim with setuid/setgid.•••In a typical configuration, Exim binary is setuid root and the Exim daemon process listens for connections under a non-root system account (usually `exim`). Upon receiving a message, it forks into a child process which re-executes the binary to regain privileges and deliver the mail to its destination (e.g. a Maildir inside user's home directory). Besides the setuid binary itself, such setup also requires the Exim configuration file to live at the path Exim considers safe. It defaults to /etc/exim.conf and changing it requires rebuilding the Exim daemon. If a configuration at unsafe path is used instead, Exim drops its privileges before reading it and becomes unable to perform certain kinds of email delivery. * gnu/services/mail.scm (<exim-configuration>)[setuid-user]: New field. (<exim-configuration>)[setgid-group]: New field. (exim-computed-config-file): Delete variable. (exim-shepherd-service)[start]: Use Exim's default config at /etc/exim.conf. (exim-activation): Atomically put Exim's current config at /etc/exim.conf and verify its syntactic correctness. (exim-setuids): New variable. (exim-service-type)[extensions]: Extend `setuid-program-service-type`. Change-Id: Ie6153baac80180d3d48f6b5a6959895df06aef0b Wojtek Kosior
2025-03-21services: Allow cgit footer text to be passed as a file-like object.•••* gnu/services/cgit.scm (cgit-configuration)[footer]: Specify type as `file-object`. Change-Id: Id5790bbdb5e09204b653bc54e1b9b60afe5a2ee0 Wojtek Kosior
2025-03-21services: Export cgit config serialization procedure.•••This procedure alone is useful when deploying cgit under HTTP server other than Nginx or when deploying multiple cgit instances on a single host. * gnu/services/cgit.scm (define-module): Export `serialize-cgit-configuration`. Change-Id: Ia21c5debbd54a156df703d84694c945e851cd55c Wojtek Kosior
2025-03-05Revert "services/udev: Allow configuring udev to run in debug mode."•••This reverts commit dd64f441d3dcff9165927b821da2b69b1fc6a24f. Enabling debug output for udevd apparently hangs the boot. Maxim Cournoyer
2025-03-05services: Switch to ‘shepherd-system-log-service-type’ in ‘%base-servic...•••This reinstates c83bfc0415ba928b746362915d67600cdbb5da62, which had been reverted in 8c483c12e94bcf43e4c44170f1d5fea5fbba4970 in response to <https://issues.guix.gnu.org/76315>. * gnu/services/base.scm (%base-services): Replace ‘syslog-service-type’ by ‘shepherd-system-log-service-type’. * doc/guix.texi (Base Services): Update ‘syslog-service-type’ documentation. (Shepherd Services): Mention that ‘system-log-service-type’ is in ‘%base-services’. Add anchor. Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Change-Id: I21082300f6a052865a6ab1bdff27fbe71f73d492 Ludovic Courtès
2025-03-05services: ‘shepherd-service-upgrade’ handles canonical name changes.•••Partly fixes <https://issues.guix.gnu.org/76315>. Fixes a bug whereby a service whose canonical name has changed would not be restarted—e.g., if '(syslogd) has a replacement providing '(system-log syslogd). * gnu/services/shepherd.scm (shepherd-service-upgrade)[running?]: Remove. [to-restart]: Change to a subset of LIVE. Look up all the names of each element of TARGET. * guix/scripts/system/reconfigure.scm (upgrade-shepherd-services): TO-RESTART is now a list of <live-service>; adjust accordingly. * tests/services.scm ("shepherd-service-upgrade: one unchanged, one upgraded, one new"): ("shepherd-service-upgrade: service depended on is not unloaded"): ("shepherd-service-upgrade: obsolete services that depend on each other"): ("shepherd-service-upgrade: transient service"): Adjust accordingly. ("shepherd-service-upgrade: service has new canonical name"): New test. Reported-by: Tomas Volf <~@wolfsden.cz> Change-Id: I7cec495b4e824da5fad5518f039607cf92f935d9 Ludovic Courtès
2025-03-04services: tlp: Add config for CPU energy performance policy.•••* gnu/services/pm.scm (tlp-configuration): Add cpu-energy-perf-policy-on-ac and cpu-energy-perf-policy-on-bat. * doc/guix.texi (Power Management Services): Document cpu-energy-perf-policy-on-bat and cpu-energy-perf-policy-on-ac. Change-Id: Ieddf949a325c317abffce00a4f1d047175342d78 Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr> Ryan Barber
2025-03-02services: gdm: Set GUIX_GDK_PIXBUF_MODULE_FILES.•••* gnu/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch: Replace GDK_PIXBUF_MODULE_FILE with GUIX_GDK_PIXBUF_MODULE_FILES. * gnu/services/xorg.scm (gdm-shepherd-service): Replace GDK_PIXBUF_MODULE_FILE with GUIX_GDK_PIXBUF_MODULE_FILES. Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> 宋文武
2025-03-03services/udev: Allow configuring udev to run in debug mode.•••* gnu/services/base.scm (<udev-configuration>): <debug?>: New field. * gnu/services/base.scm (udev-shepherd-service): Use it to add '--debug' to the command line, if applicable. * doc/guix.texi (Base Services): Document it. Change-Id: I88243fb4f321ff0876dd227e3c2b22082d37cfcf Maxim Cournoyer
2025-03-03services: Add apcupsd-service-type.•••* gnu/services/power.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (Power Management Services): Document service and data types. Change-Id: If205d19bea1d20a99309626e28521a2d6fe6702f Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Tomas Volf
2025-03-03services: wireguard: Add the auto-start? field.•••* gnu/services/vpn.scm (<wireguard-configuration>): Add auto-start?. (wireguard-shepherd-service): Pass auto-start? to Shepherd service. * doc/guix.texi (VPN Services)[wireguard]: Document it. Change-Id: I7880a8c8e9860250f875e845e94eb118a4b852fa Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Carlo Zancanaro
2025-02-25services: syncthing: Fix typo in file name.•••This is a followup to commit 651f8765b657e35baf85ac74a1f6b09ff71691cb * gnu/services/syncthing.scm (syncthing-files-service): Fix typo. Change-Id: I55d1d480d356f41e65b85f8503ceb38c5c1a021b Leo Famulari
2025-02-25services: dovecot: Provide plugins through a /gnu/store directory.•••* gnu/services/mail.scm (package-list?, serialize-package-list): New procedures. * gnu/services/mail.scm (dovecot-configuration)[extensions]: New field. The field lets you provide a list of dovecot plugins that need to be available during the runtime. A union of the set of modules will be created on the activation time. * gnu/services/mail.scm (opaque-dovecot-configuration)[extensions]: Likewise. * gnu/services/mail.scm (make-dovecot-moduledir): New function. * gnu/services/mail.scm (%dovecot-activation): Add step to compute a set of modules, and provide them over the shared link at /usr/lib/dovecot. * doc/guix.texi (Mail Services)[extension]: Add documentation. Clarify the purpose and usage of the extensions parameter. Add an example showing how to enable Sieve filtering using dovecot-pigeonhole. Better explain the module directory structure and requirements. Change-Id: I3c3955bb04b09d245242112f6810ecc0558109a1 Signed-off-by: Christopher Baines <mail@cbaines.net> Alexey Abramov via Guix-patches via
2025-02-24services: cuirass: Respawn ‘cuirass-web’ more slowly.•••* gnu/services/cuirass.scm (cuirass-shepherd-service): Add ‘respawn-delay’ and ‘respawn-limit’ fields for ‘cuirass-web’. Change-Id: I38c65d3a13fb3abc7c8f14784de3c93f5d7603f7 Ludovic Courtès
2025-02-24gnu: service: Fix script location for TLP shepherd service.•••* gnu/services/pm.scm (tlp-shepherd-service): Fix location for "tlp" script. Change-Id: I254437441641c96b19383e796fded82c4f6bbcb7 Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr> Simen Endsjø
2025-02-23services: Add missing Shepherd dependency on ‘user-processes’.•••Fixes <https://issues.guix.gnu.org/76368>. * gnu/services/auditd.scm (auditd-shepherd-service): * gnu/services/base.scm (rngd-service-type): (gpm-shepherd-service): * gnu/services/ci.scm (laminar-shepherd-service): * gnu/services/containers.scm (rootless-podman-cgroups-fs-owner-service): (rootless-podman-cgroups-limits-service): * gnu/services/cups.scm (cups-shepherd-service): * gnu/services/databases.scm (postgresql-role-shepherd-service): * gnu/services/desktop.scm (upower-shepherd-service): (bluetooth-shepherd-service): (elogind-shepherd-service): (inputattach-shepherd-service): (seatd-shepherd-service): * gnu/services/dns.scm (knot-resolver-shepherd-services): (dnsmasq-shepherd-service): * gnu/services/docker.scm (containerd-shepherd-service): (docker-shepherd-service): * gnu/services/file-sharing.scm (transmission-daemon-shepherd-service): * gnu/services/games.scm (joycond-shepherd-service): (wesnothd-shepherd-service): * gnu/services/guix.scm (guix-build-coordinator-shepherd-services): (guix-data-service-shepherd-services): (nar-herder-shepherd-services): (bffe-shepherd-services): * gnu/services/ldap.scm (directory-server-shepherd-service): * gnu/services/linux.scm (cachefilesd-shepherd-service): (rasdaemon-shepherd-service): * gnu/services/mail.scm (dovecot-shepherd-service): (imap4d-shepherd-service): (radicale-shepherd-service): (rspamd-configuration): * gnu/services/monitoring.scm (prometheus-node-exporter-shepherd-service): (vnstat-shepherd-service): * gnu/services/networking.scm (opendht-shepherd-service): (openvswitch-shepherd-service): (pagekite-shepherd-service): (ipfs-shepherd-service): * gnu/services/nfs.scm (rpcbind-service-type): (gss-service-type): (idmap-service-type): * gnu/services/pm.scm (thermald-shepherd-service): * gnu/services/rsync.scm (rsync-shepherd-service): * gnu/services/samba.scm (samba-samba-shepherd-service): (samba-nmbd-shepherd-service): (samba-smbd-shepherd-service): (samba-winbindd-shepherd-service): (wsdd-shepherd-service): * gnu/services/security-token.scm (pcscd-shepherd-service): * gnu/services/sound.scm (speakersafetyd-shepherd-service): * gnu/services/spice.scm (spice-vdagent-shepherd-service): * gnu/services/ssh.scm (lsh-shepherd-service): (openssh-shepherd-service): (dropbear-shepherd-service): (autossh-shepherd-service): * gnu/services/telephony.scm (jami-shepherd-services): (mumble-server-shepherd-service): * gnu/services/version-control.scm (git-daemon-shepherd-service): * gnu/services/virtualization.scm (virtlogd-shepherd-service): * gnu/services/vnc.scm (xvnc-shepherd-service): * gnu/services/vpn.scm (openvpn-shepherd-service): (strongswan-shepherd-service): * gnu/services/web.scm (httpd-shepherd-services): (fcgiwrap-shepherd-service): (php-fpm-shepherd-service): (hpcguix-web-shepherd-service): (tailon-shepherd-service): (varnish-shepherd-service): (whoogle-shepherd-service): (mumi-shepherd-services): (gmnisrv-shepherd-service): (agate-shepherd-service): Add ‘user-processes’ requirement. * doc/guix.texi (Mail Services): Update accordingly. Reported-by: Dariqq <dariqq@posteo.net> Change-Id: I947bd2afc83b786cb17c555cfe73ab586b806618 Ludovic Courtès
2025-02-21services: Use ‘spawn-command’ instead of ‘fork’ + ‘waitpid’.•••Fixes <https://issues.guix.gnu.org/76315>. This is more concise and more robust: these ‘waitpid’ calls would compete with those made by shepherd’s event loop upon SIGCHLD, and they could hang forever, as illustrated with ‘dhcp-client-service-type’ in <https://issues.guix.gnu.org/76315>. * gnu/services/databases.scm (postgresql-role-shepherd-service): Use ‘spawn-command’ instead of ‘fork+exec-command’ followed by ‘waitpid’. * gnu/services/networking.scm (dhcp-client-shepherd-service): Change ‘start’ to use ‘spawn-command’ instead of ‘fork+exec-command’ and * gnu/services/web.scm (patchwork-django-admin-gexp): Use ‘spawn-command’ instead of ‘primitive-fork’ + ‘waitpid’. Change-Id: I449290bfa46f8600e6ccdb5a6da990ad0cb7948c Reported-by: Tomas Volf <~@wolfsden.cz> Ludovic Courtès
2025-02-21services: transmission: Remove custom ‘stop’ implementation.•••This ‘stop’ methods had two problems: 1. It is incompatible with the Shepherd 1.0, where the running value is a <process> record and not a PID. 2. It is unreliable because its ‘waitpid’ calls compete with those made by shepherd’s main event loop upon SIGCHLD. * gnu/services/file-sharing.scm (transmission-daemon-shepherd-service): Change ‘stop’ to use ‘make-kill-destructor’. Change-Id: I406eb619d4a72bb5afe6200ac5c8f68736a78d97 Ludovic Courtès
2025-02-21services: Add xen-guest-agent-service-type.•••* gnu/services/virtualization.scm (xen-guest-agent-configuration, xen-guest-agent-service-type): New variables. * doc/guix.texi: Document them. Change-Id: Id1b1f4fc2b193d73f4401e74a214222dfe1b6ea7 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Karl Hallsby
2025-02-19gnu: Fix some misspellings.•••Change-Id: I316652aff7418af4b8e83bea24638b1513f8aa97 Efraim Flashner
2025-02-18services: lightdm: Fix vnc server flag listen-address•••* gnu/services/lightdm.scm (lightdm-configuration-file): Fix typo from ‘vnc-server-listen-address’ to ‘listen-address’. Change-Id: I40d26a5554bf160658e641cc8d3dc212f1364c93 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Fernando Martínez González
2025-02-17gnu: guix-configuration: Add a chroot? parameter.•••The parameter should take the values #t, #f or 'default. In a container environment, 'default amounts to #f, otherwise it amounts to #t. * gnu/services/base.scm (guix-configuration)<chroot?>: New field. (guix-shepherd-service): If chroot? is #f, add "--disable-chroot". If it is #t or 'default, do nothing. * gnu/system/linux-container.scm (containerized-operating-system): If chroot? is 'default, replace it by #f. * doc/guix.texi: Document the parameter. Change-Id: I8b9c3f46ad8650fa6ed4acee947b4ae5d002d03d Andreas Enge
2025-02-17services: syncthing: Add support for declarative configuration.•••* gnu/services/syncthing.scm: (syncthing-config-file, syncthing-folder, syncthing-device, syncthing-folder-device): New records. (syncthing-service-type): Add special-files-service-type extension for the config file. (syncthing-files-service): Add service to create config file. * gnu/home/services/syncthing.scm: (home-syncthing-service-type): Extend home-files-services-type and re-exported more things from gnu/services/syncthing.scm. * doc/guix.texi: (syncthing-service-type): Document changes. Change-Id: I87eeba1ee1fdada8f29c2ee881fbc6bc4113dde9 Signed-off-by: Leo Famulari <leo@famulari.name> Zacchaeus
2025-02-16Revert "services: Switch to ‘shepherd-system-log-service-type’ in ‘%bas...•••This reverts commit c83bfc0415ba928b746362915d67600cdbb5da62 and the corresponding ‘etc/news.scm’ entry (commits 12bd93113c7a2ddf8c1db849550d1c0ae356f039 and 622568ec13b54ad8caaa7f67d1e8686073749b8b) while investigating <https://issues.guix.gnu.org/76315>. Change-Id: Ie26c24b8cd25cee3466cc871470b0bec9a5dfafb Ludovic Courtès
2025-02-16gnu: guix-build-coordinator: Add the listen-repl configuration.•••* gnu/services/guix.scm (<guix-build-coordinator-configuration>): Add listen-repl. (guix-build-coordinator-configuration-listen-repl): New procedure. (make-guix-build-coordinator-start-script, guix-build-coordinator-shepherd-services): Use listen-repl. * doc/guix.texi (Guix Services): Document listen-repl. Change-Id: I49cac7cd3c4675f6ffed71320bb61dc7b008179a Christopher Baines
2025-02-15services: Switch to ‘shepherd-system-log-service-type’ in ‘%base-servic...•••* gnu/services/base.scm (%base-services): Replace ‘syslog-service-type’ by ‘shepherd-system-log-service-type’. * doc/guix.texi (Base Services): Update ‘syslog-service-type’ documentation. (Shepherd Services): Mention that ‘system-log-service-type’ is in ‘%base-services’. Add anchor. Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Change-Id: I21082300f6a052865a6ab1bdff27fbe71f73d492 Ludovic Courtès
2025-02-15services: Add ‘system-log’ Shepherd service.•••* gnu/services/shepherd.scm (gexp-or-integer?) (gexp-or-string?, gexp-or-string-or-false?): New procedures. (system-log-configuration): New record type. (shepherd-system-log-service-type): New variable. * doc/guix.texi (Shepherd Services): Document it. Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Change-Id: I1e29fe0977eb4f8026ee6a2d2f282e269c8c00b4 Ludovic Courtès
2025-02-15services: Add speakersafetyd service.•••* gnu/services/sound.scm (speakersafetyd-shepherd-service) (speakersafetyd-configuration) (speakersafetyd-service-type): New variables. * doc/guix.texi (Sound Services): Document it. Change-Id: Ib8fa19b056a2036019ae7c199d81e1139664e951 Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Roman Scherer
2025-02-13services: guix-build-coordinator: Extend pid file timeout.•••As truncating the WAL can take time. * gnu/services/guix.scm (guix-build-coordinator-shepherd-services): Extend pid file timeout. Change-Id: I054fbf5631ee5060a4ea5b3c7940809193e1003b Christopher Baines
2025-02-13services: network-manager: Add extra-configuration-files field.•••Allow users to specify additional configuration files for NetworkManager. These files will be added to /etc/NetworkManager/conf.d (NetworkManager's default configuration directory location). * gnu/services/networking.scm (<network-manager-configuration>) [extra-configuration-files]: New field. (network-manager-activation): Honor the new field. * doc/guix.texi (Networking Setup): Document the new field. Change-Id: I07479958e4d0aa318328c666a9630b779230b300 Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> 45mg
2025-02-13services: herd: Export 'eval-there' in API.•••* gnu/services/herd.scm (gnu): Export 'eval-there', which is useful to evaluate Scheme expressions. Change-Id: Iff1db56e0847fc5886ac9fe594d677b363e7e6e7 Maxim Cournoyer
2025-02-12services: log-cleanup: Add Shepherd service documentation.•••* gnu/services/admin.scm (log-cleanup-shepherd-services): Add ‘documentation’ field. Change-Id: Ie24033db668a366474f8307e5e8908fd27c06dda Ludovic Courtès