summaryrefslogtreecommitdiff
path: root/gnu/services
AgeCommit message (Collapse)Author
2025-01-31gnu: xf86-input-keyboard: Remove Linux from supported systems.宋文武
* gnu/packages/xorg.scm (xf86-input-keyboard)[supported-systems]: New field. (xpra)[inputs]: Remove xf86-input-keyboard. * gnu/services/xorg.scm (%default-xorg-modules): Remove xf86-input-keyboard. * doc/guix.texi (X Window)[%default-xorg-modules]: Replace xf86-input-keyboard with xf86-input-libinput. Change-Id: Ia0b5c0289aa83e3afa7e71bef1785d6bddf6f017
2025-01-26services: dico: Add symbols to help users configure FreeDict with dicod.Runciter
* gnu/services/dict.scm: (dicod-freedict-database): New procedure; (%dicod-databases:freedict): new variable. * doc/guix.texi (Dictionary Service): Document them. Signed-off-by: Runciter <runciter@whispers-vpn.org> Signed-off-by: Ludovic Courtès <ludo@gnu.org> Change-Id: Id5b20e235b988953a66e0344872d1fa165c4c773
2025-01-26services: Add the Shepherd’s ‘transient’ and ‘timer’ to ↵Ludovic Courtès
‘%base-services’. * gnu/services/base.scm (%base-services): Add instances of ‘shepherd-timer-service-type’ and ‘shepherd-transient-service-type’. Change-Id: I28a35d0dce40b142ee71b330b1cf7a3d222ef6bd
2025-01-26services: shepherd: Add ‘transient’ and ‘timer’.Ludovic Courtès
* gnu/services/shepherd.scm (shepherd-timer-service-type) (shepherd-transient-service-type): New variables. * doc/guix.texi (Shepherd Services): Document them. Change-Id: I9b622e7e947e7a6384c2701a313d0c7080a0a5f6
2025-01-27services/gnome: Reinstate auto-configuration for GNOME Boxes.Maxim Cournoyer
Previously to 4722496292 ("Remove gnome-boxes from default GNOME apps."), USB redirection for GNOME Boxes had been working out-of-the-box. Reinstate the extensions that made that possible, so that simply adding the gnome-boxes package back to one of the gnome-desktop-configuration fields does the right thing. * gnu/services/desktop.scm (gnome-setuid-programs): New procedure. (gnome-desktop-service-type) [privileged-program-service-type]: Use it as an extension. * gnu/packages/gnome.scm (gnome-boxes): [inputs]: Move spice-gtk to... [propagated-inputs]: ... here. [description]: Document extra steps necessary to enable the USB redirection feature. Change-Id: If84e8a2e0c480ddd1d7cd294890fad1ae2a76987 Reviewed-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-01-27services/desktop: Use transitively propagated GNOME packages for polkit/udev.Maxim Cournoyer
This is useful for automatically picking up the polkit or udev rules from the GNOME packages propagated inputs (transitively), e.g. spice-gtk from the gnome-boxes package. * gnu/services/desktop.scm (gnome-profile): Add a #:transitive? argument. (gnome-udev-configuration-files): Use it. (gnome-polkit-settings): Likewise. Change-Id: I3597c9d3dc296e8f3e45017bb02e500db0b73783 Reviewed-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-01-26services: Export gnome-desktop-configuration-polkit-ignorelist accessor.Maxim Cournoyer
* gnu/services/desktop.scm: Export gnome-desktop-configuration-polkit-ignorelist accessor. Change-Id: Ia2281c2c3f98e508d12d65487d72281821308d6e
2025-01-25services: restic-backup: Implement as a Shepherd timer.Giacomo Leidi
This patch implements restic backup with Shepherd services. It is supposed not to break any existing setup. * gnu/services/backup.scm (restic-backup-job): Add Shepherd configuration options; (restic-backup-job->mcron-job): Replace with...; (restic-job-log-file): New procedure; (restic-backup-job->shepherd-service): New procedure; (restic-backup-activation): New procedure; (restic-backup-service-type): Replace mcron with Shepherd extension and add activation extension hook. * doc/guix.texi: Document it. Change-Id: I66de3b6a1cb6177f9e4ee0c2acf3013ecbcdd338 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-01-16services: rottlog: Deprecate.Ludovic Courtès
* gnu/services/admin.scm (rottlog-service-type): Deprecate. * doc/guix.texi (Log Rotation): Add deprecation warning. Change-Id: I661666ff3de64a69ff4f4982d7f432fd575c36df
2025-01-16services: Switch from mcron + Rottlog to Shepherd’s log rotation.Ludovic Courtès
* gnu/services/admin.scm (unattended-upgrade-log-rotations): Remove. (unattended-upgrade-service-type): Remove ‘rottlog-service-type’ extension. * gnu/services/audio.scm (mpd-log-rotation): Remove. (mpd-service-type): Remove ‘rottlog-service-type’ extension. (mympd-log-rotation): Remove. (mympd-service-type): Remove rottlog-service-type’ extension. * gnu/services/base.scm (%guix-publish-log-rotations): Remove. (guix-publish-service-type): Remove ‘rottlog-service-type’ extension. (%base-services): Instantiate ‘log-rotation-service-type’ instead of ‘rottlog-service-type’. (%default-syslog-files): New variable. (syslog-service-type): Extend ‘log-rotation-service-type’. * gnu/services/cuirass.scm (cuirass-log-rotations): Remove. (cuirass-service-type): Remove ‘rottlog-service-type’ extension. (cuirass-remote-worker-log-rotations): Remove. (cuirass-remote-worker-service-type): Remove ‘rottlog-service-type’ extension. * gnu/services/file-sharing.scm (%transmission-daemon-log-rotations): Remove. (transmission-daemon-service-type): Remove ‘rottlog-service-type’ extension. * gnu/services/linux.scm (%earlyoom-log-rotation): Remove. (earlyoom-service-type): Remove ‘rottlog-service-type’ extension. * gnu/services/networking.scm (%ntp-log-rotation): Remove. (ntp-service-type): Remove ‘rottlog-service-type’ extension. (openntpd-service-type): Likewise. (%connman-log-rotation): Remove. (connman-service-type): Remove ‘rottlog-service-type’ extension. (%hostapd-log-rotation): Remove. (hostapd-service-type): Remove ‘rottlog-service-type’ extension. (%pagekite-log-rotation): Remove. (pagekite-service-type): Remove ‘rottlog-service-type’ extension. (%yggdrasil-log-rotation): Remove. (yggdrasil-service-type): Remove ‘rottlog-service-type’ extension. (%ipfs-log-rotation): Remove. (ipfs-service-type): Remove ‘rottlog-service-type’ extension. (%keepalived-log-rotation): Remove. (keepalived-service-type): Remove ‘rottlog-service-type’ extension. * gnu/services/web.scm (%hpcguix-web-log-rotations): Remove. (hpcguix-web-service-type): Remove ‘rottlog-service-type’ extension. (%mumi-log-rotations): Remove. (mumi-service-type): Remove ‘rottlog-service-type’ extension. * doc/guix.texi (Log Rotation): Adjust text regarding which one is in ‘%base-services’. Change-Id: I8802d4c2337a1e08e3c084d6217f76527d7ee1fb
2025-01-16services: unattended-upgrade: Rewrite as a Shepherd timer.Ludovic Courtès
This is a semi-incompatible change: gexps previously provided in the ‘schedule’ field will no longer work. * gnu/services/admin.scm (unattended-upgrade-mcron-jobs): Rename to… (unattended-upgrade-shepherd-services): … this. Return a list of one Shepherd service. Remove custom logging and time limitation facilities from ‘code’. (unattended-upgrade-service-type): Extend ‘shepherd-root-service-type’ instead of ‘mcron-service-type’. (<unattended-upgrade-configuration>)[services-to-restart]: Change default. * doc/guix.texi (Unattended Upgrades): Adjust ‘schedule’ and ‘services-to-restart’ documentation. Change-Id: I1b239c5946e71cf9e2af9b24fe4b01366b57fb7a
2025-01-16services: log-cleanup: Rewrite as a Shepherd timer.Ludovic Courtès
This is a semi-incompatible change: gexps previously provided in the ‘schedule’ field will no longer work. * gnu/services/admin.scm (log-cleanup-mcron-jobs): Remove. (log-cleanup-shepherd-services): New procedure. (log-cleanup-service-type): Extend SHEPHERD-ROOT-SERVICE-TYPE instead of MCRON-SERVICE-TYPE. * doc/guix.texi (Log Rotation): Adjust ‘schedule’ documentation accordingly. Change-Id: I2a3beb7dffbc9992b714a29423674db9c7dc6cab
2025-01-16services: Add ‘log-rotation-service-type’.Ludovic Courtès
* gnu/services/admin.scm (%default-log-rotation-calendar-event): New variable. (<log-rotation-configuration>): New record type. (log-rotation-shepherd-services): New procedure. (log-rotation-service-type): New variable. Change-Id: I4400035f3b6065ec147ac932110b690120d739c2
2025-01-16services: dns: Minor cleanup of unbound service.Sören Tempel
In #68757, v3 instead of v4 of the patchset was committed by accident. This patch revives the (minor) changes made in the v4. * gnu/service/dns.scm: Remove exports of no longer existing names. (unbound-service-type): Fix at typo (unbound -> Unbound). (unbound-shepherd-service): Run after user processes. (unbound-account-service): Determine shell based on shadow package. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-01-16services: Add xe-guest-utilities-service-type.Karl Hallsby
* gnu/services/virtualization.scm (xe-guest-utilities-configuration, xe-guest-utilities-service-type): New variables. * doc/guix.texi: Document them. Change-Id: Ife4e79fa6d1a9d5a21bf7479488884f2a5cf8d56 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-01-16service: plasma: Allow access bluetooth devices in "System Settings".Raven Hallsby
This adds the Bluetooth section back to KDE Plasma 6's System Settings menu. * gnu/packages/kde-plasma.scm (bluedevil): Propagate bluez-qt. * gnu/packages/kde-plasma.scm (plasma)[inputs]: Add bluedevil. * gnu/services/desktop.scm (plasma-dbus-service): Add bluedevil as dbus-based application. Change-Id: If6a740c88e81bac4ccc220e918c17045eaa8e597
2025-01-12gnu: xfce: Enable xfce4-screensaver.宋文武
This fixes <https://issues.guix.gnu.org/75288>. * gnu/packages/xfce.scm (xfce)[inputs]: Add xfce4-screensaver. * gnu/services/desktop.scm (xfce-pam-services): New procedure. (xfce-desktop-service-type): Add a extension for pam-root-service-type. Change-Id: I4bdf5088f4ccc743afdcfdd2d68541c2d883552d
2025-01-11services: rootless-podman: Enable I/O delegation.Giacomo Leidi
Based on https://rootlesscontaine.rs/getting-started/common/cgroup2/#enabling-cpu-cpuset-and-io-delegation , this patch enables I/O delegation for cgroups v2 enabled users. * gnu/services/containers.scm (cgroups-limits-entrypoint): Enable I/O controller delegation. * gnu/tests/containers.scm: Test it. Change-Id: I7caba33695f11830bea477c4ab3afb89cfaa2fa5 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-01-11services: nginx: Make log formats configurable.Leo Nikkilä
* gnu/services/web.scm (<nginx-log-format-configuration>): New record. (<nginx-configuration>)[log-format, log-formats]: New fields. (assert-valid-log-format-escape): New procedure. (emit-nginx-log-format-config): New procedure. (default-nginx-config): Make log formats configurable. * doc/guix.texi (Web Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Change-Id: I8a16a1a9a20f64606dac0a1e14f1c5217d351f90
2025-01-11services: dns: Add unbound service.Sören Tempel
This allows using Unbound as a local DNSSEC-enabled resolver. This commit also allows configuration of the Unbound DNS resolver via a Scheme API. The API currently provides very common options and includes an escape hatch to enable less common configurations. * gnu/service/dns.scm (unbound-serialize-field): New procedure. (unbound-serialize-alist, unbound-serialize-section) (unbound-serialize-string, unbound-serialize-boolean) (unbound-serialize-list-of-strings): New procedures. (unbound-zone): New record type. (unbound-serialize-unbound-zone) (unbound-serialize-list-of-unbound-zone): New procedures. (unbound-remote): New record type. (unbound-serialize-unbound-remote): New procedure. (unbound-server): New record type. (unbound-serialize-unbound-server): New procedure. (unbound-configuration): New record type. (unbound-config-file, unbound-shepherd-service): New procedures. (unbound-account-service): New variable. (unbound-service-type): New services. * gnu/tests/dns.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * doc/guix.texi (DNS Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Change-Id: I4c9646c9e17d4882e596d33ff8f738e1877fa1ae
2025-01-11services: cuirass: Add ‘build-expiry’ field.Ludovic Courtès
* gnu/services/cuirass.scm (<cuirass-configuration>)[build-expiry]: New field. (cuirass-shepherd-service): Honor it. * doc/guix.texi (Continuous Integration): Document it. Change-Id: I1f9e21368437fd8fc236719e32bad7656928c926
2025-01-08services: static-networking: Fail when devices don’t show up.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/71173>. * gnu/services/base.scm (network-set-up/linux): Define ‘max-set-up-duration’ and use it. * gnu/tests/networking.scm (%static-networking-with-nonexistent-device): New variable. (run-static-networking-failure-test): New procedure. (%test-static-networking-failure): New variable. Change-Id: Idba9b36750aa8c6368c8f6d1bc1358066f7432e4
2025-01-08services: static-networking: Run set-up/tear-down as a separate process.Ludovic Courtès
Running that code in PID 1 was fun but it’s not really beneficial and somewhat risky: risk of blocking, file descriptor leak, inability to reload Guile-Netlink in shepherd when it’s upgraded, and so on. This change runs set-up and tear-down as separate processes, which, for the price of one fork(1), buys us peace of mind. * gnu/services/base.scm (network-set-up/hurd, network-tear-down/hurd) (network-tear-down/linux): Use ‘program-file’ instead of ‘scheme-file’. (network-set-up/linux): Likewise, and remove #:blocking? argument to ‘wait-for-link’. Change-Id: Ia41479b50eab31ea40c67243fcb1cffe29ac874a
2025-01-06services: rootless-podman-service-type: Allow not installing podman.Tomas Volf
Sometimes you would want to skip on actually installing the podman package in order to save disk space and bandwidth. Even without installing it globally, podman can still be fetched via guix shell when required. * gnu/services/containers.scm (package-or-#f?): New procedure. (rootless-podman-configuration)<podman>: Change type to package-or-#f. (rootless-podman-service-profile): Produce empty list if not podman package. * doc/guix.texi (Miscellaneous Services): Document the change. Change-Id: If533d913ea190558ce7e206d98ada4d805270594 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-01-04services: dnsmasq: Allow custom Shepherd provision45mg
Allow users to have multiple dnsmasq instances by specifying different `provision` values for the corresponding Shepherd services, similar to what is done with `static-networking-service-type`. * gnu/services/dns.scm (<dnsmasq-configuration>)[provision]: new option. (dnsmasq-shepherd-service): Use supplied provision value. * doc/guix.texi (DNS Services)[dnsmasq-configuration]: Document it. Change-Id: I78c7f015cb1db239a600bc5373b2fd80e8b9b9f4 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-12-30services: elogind: Support hook directories.45mg
Allow the user to specify scripts to be added into Elogind's hook directories. These scripts will be run before/after suspend/hibernate/poweroff/reboot. Also allow setting the associated config options. * gnu/services/desktop.scm (elogind-configuration): add `system-sleep-hook-files`, `system-shutdown-hook-files`, and 4 new config options. (elogind-configuration-file): Add entries for the new config options under the `[Sleep]` section. (elogind-etc-directory): New procedure. (elogind-service-type): Extend `etc-service-type` using `/etc/elogind`. * doc/guix.texi (Desktop Services): Document the new options. Change-Id: I7e22cbaa9d031049b9d085ba0ce4cc8a8b4f16ff Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-30services: resize-file-system: Remove invalid default value.Ludovic Courtès
The default value of #f for the ‘file-system’ field is invalid and would trigger a type error when running ‘guix system search’. * gnu/services/admin.scm (<resize-file-system-configuration>)[file-system]: Remove default value. (resize-file-system-service-type)[default-value]: Remove. * doc/guix.texi (Miscellaneous Services): Adjust accordingly. Change-Id: If73f8923f49d38827059ba98bd53636a7f3917fe
2024-12-25services: rootless-podman: Fix PATH lookup for Shepherd services.Giacomo Leidi
One-shot Shepherd services required to correctly setup Podman in the Guix System, are failing to find executables upon boot. This patch changes the executable references to absolute paths to avoid PATH lookup. * gnu/services/containers.scm (cgroups-fs-owner-entrypoint): Hardcode bash path; (rootless-podman-cgroups-fs-owner-service): Ditto; (rootless-podman-fs-entrypoint): Hardcode mount path. Change-Id: Id6a27cadf51326ce57af93f57809b77e28dbeaef Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-25services: syslog: fix configuration file argument45mg
* gnu/services/base.scm (syslog-shepherd-service): Separate incorrectly combined arguments which resulted in an argument like "-f /etc/syslog.conf" being passed to syslogd, leading it to ignore the argument and execute without a configuration file. Effects of this included no log files being written, though the Shepherd service ran successfully. Ref: https://issues.guix.gnu.org/70677#4-lineno7 Change-Id: I3dbe00eabd4a10804e554c12e1466483c0b185b7 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-23services: syslog: Adjust service for rsyslog compatibility.Jean-Baptiste Note
* gnu/services/base.scm (syslog-shepherd-service): Change flag for designating configuration file. The long option is not compatible with rsyslog while the short is; switch to the short one. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-23services: syslog: Add extra-options argument to syslog service.Jean-Baptiste Note
* gnu/services/base.scm (<syslog-configuration>): Add extra-options field. (syslog-shepherd-service): Use it when running the service. * doc/guix.texi: Document it. Change-Id: I540d070b9a9678b45ec9fa28d6fdc761f9b3fd9a Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18services: Add rootless-podman-service-type.Giacomo Leidi
* gnu/services/containers.scm: New file; (rootless-podman-configuration): new variable; (rootless-podman-service-subids): new variable; (rootless-podman-service-accounts): new variable; (rootless-podman-service-profile): new variable; (rootless-podman-shepherd-services): new variable; (rootless-podman-service-etc): new variable; (rootless-podman-service-type): new variable. * gnu/local.mk: Test it. * gnu/local.mk: Add them. * doc/guix.texi (Miscellaneous Services): Document it. Change-Id: I041496474c1027da353bd6852f2554a065914d7a Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18services: iptables: Provide a default value.Giacomo Leidi
There doesn't seem to be a reason to force users to write (service iptables-service-type (iptables-configuration)) instead of simply (service iptables-service-type) This patch provides a default value for the iptables-service-type. * gnu/services/networking.scm (iptables-service-type): Set default-value. Change-Id: I93b6c544dfb064c7a0a999549dff61007a38f842 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-18services: pam: Allow extension of pam limits.Giacomo Leidi
* gnu/services/pam.scm (pam-limits-service-type): Allow extension of pam limits rules from users and services. Change-Id: I93a363d1a2887493d52ef3ae32fc9721f81ddfa8 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-17gnu: set-xorg-configuration: Update code comment.Efraim Flashner
* gnu/services/xorg.scm (set-xorg-configuration): Update the comment about platforms with rust support. Change-Id: I6237ee9d26b5a74fb0d0b6680d3ff827d2a67418
2024-12-17gnu: desktop-services-for-system: Update code comment.Efraim Flashner
* gnu/services/desktop.scm (desktop-services-for-system): Update the comment about platforms with rust support. Change-Id: Ibefa826494e29498870f392c0fec87d606d386ec
2024-12-16services: guix-data-service: Support specifying configuration.Christopher Baines
The database contains some tables that are effectively used for configuration. This commit starts to expose these to the guix service, enabling the configuration to be handled by the service. * gnu/services/guix.scm (<guix-data-service-configuration>): Add git-repositories and build-servers. (guix-data-service-configuration-git-repositories, guix-data-service-configuration-build-servers): New procedures. (guix-data-service-shepherd-services): Add new shepherd service to setup the database. Change-Id: I519efd9157b60f18c7e80e3bdc92c0e3c5729334
2024-12-16gnu: lightdm-service-type: Add lightdm.conf to /etc/lightdm.Dariqq
* gnu/services/lightdm.scm (lightdm-configuration->greeters-config-dir): Rename to... (lightdm-configuration-directory): ... this, and add the lightdm-configuration-file. (lightdm-shepherd-service): Don't pass the configuration file, don't set XDG_CONFIG_DIRS (lightdm-etc-service): New procedure. (lightdm-service-type): Use lightdm-etc-service as the etc-extension. Change-Id: I982ec1f7bdfd085621f45a8a1e4b175ab481202f Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-12-16services: Add resize-file-system-service.Richard Sent
* gnu/services/admin.scm (resize-file-system-configuration): New configuration type. (resize-file-system-shepherd-service): New procedure. (resize-file-system-service-type): New variable. * doc/guix.texi (Miscallaneous Services): Document it. Change-Id: Icae2fefc9a8d936d4c3add47520258b341f689a4 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-15services: mingetty: Support waiting on shepherd services.Tomas Volf
For auto-login on systems with elogind, dbus-system needs to be started. This commit adds ability to express that ordering. * gnu/services/base.scm (<mingetty-configuration>): Add shepherd-requirement field. (mingetty-shepherd-service): Use it. * doc/guix.texi (Base Services)<mingetty-configuration>: Document it. Change-Id: Iedbdc4375180740379d561aa193d7c63350d2e7b Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-12-15services: mingetty: Rename misnamed accessors.Tomas Volf
Rename the accessors to ensure all start with `mingetty-configuration-' prefix. Some were named just `mingetty-$FIELD', instead of `mingetty-configuration-$FIELD'. The renaming *is* backwards compatible, since in the define-module's #:export argument the correct (`mingetty-configuration-$FIELD') were used already and thus the accessors were not accessible. * gnu/services/base.scm (<mingetty-configuration>): Rename accessors for auto-login, login-program, login-pause?, clear-on-logout?. Change-Id: I4557a82498805ade0b341feda9d33eccc305690f Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-12-15services: mingetty: Add additional configuration options.Tomas Volf
Not all aspects of mingetty were configurable, so this commit adds the additional configuration fields to support that. * gnu/services/base.scm (<mingetty-configuration>): Add delay, print-issue, print-hostname, nice, working-directory, root-directory fields. (mingetty-shepherd-service): Use the new fields. (define-module)<#:export>: Export the new accessors. * doc/guix.texi (Base Services)<mingetty-configuration>: Document the additional field. Change-Id: I4557a82498805ade0b341feda9d33eccc305690f
2024-12-12services: cuirass: Run in a UTF-8 locale.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/73751>. * gnu/services/cuirass.scm (cuirass-shepherd-service): Add ‘LC_ALL’. Reported-by: Noé Lopez <noelopez@free.fr> Change-Id: I9121a213405d287e2f15338c8608153e11c2508d
2024-12-10services: hurd-vm: Set overload-threshold to 1.8.Janneke Nieuwenhuizen
The uptime/ /proc/loadavg reporting in the Hurd is 1.0 for a machine without load. This may have been caused by recent SMP work. * gnu/services/virtualization.scm (hurd-vm-guix-extension): Set overload-threshold to 1.8 to allow offloading to actually happen. Change-Id: I2b5be4d8e8d884cba767702f9cdccf91717eb95d
2024-12-09services: admin: Improve use of unattended-upgrade reboot? field.Richard Sent
This ensures the unattended upgrade job successfully reboots regardless of the value for services-to-restart. Previously the mcron service may be restarted which would halt script execution before the system rebooted. * gnu/services/admin.scm (unattended-upgrade-mcron-jobs): Do not restart services when reboot? is #t. * doc/guix.texi (Unattended Upgrades): Document it. Change-Id: I8e486a764ec1dc5c3090130cc447a0cc3f5a2e00 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-12-09services: shepherd: Remove ‘call-with-{input,output}-file’ replacements.Ludovic Courtès
Shepherd 1.0.0 provides similar replacements. * gnu/services/shepherd.scm (shepherd-configuration-file): Remove ‘call-with-input-file’ and ‘call-with-output-file’ O_CLOEXEC replacements. Change-Id: Id8a4d5cfcb9b9213f3a017cafead21cc86fdb51e
2024-12-09services: shepherd: Default to 1.0.Ludovic Courtès
* gnu/services/shepherd.scm (<shepherd-configuration>)[shepherd]: Default to SHEPHERD-1.0. * gnu/system/hurd.scm (%base-packages/hurd): Change to SHEPHERD-1.0. Change-Id: I7b0c3041d61a6f5d89c9d6d3caf7a8eedf5d8ca5
2024-12-06services: wireguard: Support lists of gexps for most fields.Richard Sent
In order to support more flexibility in Wireguard configuration, ungexp the configuration fields directly instead of ungexp-splicing a sexp calculator. This allows for the fields to take arbitrary gexps instead of only strings which is particularly helpful for the Pre/Post Up/Down commands. * gnu/services/vpn.scm (wireguard-configuration-file): Ungexp configuration lists instead of ungexp-splicing the code surrounding them. * doc/guix.texi (VPN Services)[wireguard]: Document it. Change-Id: If074cbb78473b6fd34e0e4e990d2ed268001d6c7 Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2024-12-06services: wireguard: Add the bootstrap-private-key? field.Richard Sent
The syntax from using the private-key field is more convenient than writing a custom PreUp command (more formatting and preshared keys). Instead of trying to guess if private-key is/is not a file path, add an option to disable bootstrapping while still using private-key. * gnu/services/vpn.scm (<wireguard-configuration>): Add bootstrap-private-key?. (wireguard-activation): Check bootstrap-private-key? before bootstrapping. * doc/guix.texi (VPN Services)[wireguard]: Document it. Change-Id: I6ba71ad58b26743057a221a54a246369022f83a5 Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2024-12-06services: wireguard: Make the private-key field optional.Richard Sent
Users who retrieve the private-key via a PreUp field need to be able to disable the default retrieval mechanism. * gnu/services/vpn.scm (<wireguard-configuration>)[private-key]: Change comment. (wireguard-configuration-file): Conditionally serialize private-key. * gnu/services/vpn.scm (wireguard-activation): Do not create private-key if the field is #f. * doc/guix.texi (VPN Services)[wireguard-configuration]: Document it. Change-Id: Iac419809ae94eb76e97ff1f1749e2f4b3e65bb04 Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>