aboutsummaryrefslogtreecommitdiff
path: root/gnu/services
AgeCommit message (Expand)Author
5 daysservices: 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
5 daysservices: 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
5 daysservices: openvpn: Allow client to pull DNS settings from server.•••* gnu/services/vpn.scm (pull-dns?): New variable. (serialize-pull-dns): New variable. (make-up-down-config-options): New variable. (make-script-security-cli-options): New variable. (openvpn-client-configuration)[pull-dns?]: New field. (openvpn-config-file): Serialize that field. (openvpn-shepherd-service): Pass `--script-security' option to daemon. Change-Id: I1141dd0b9bf5956f13cf1552c2718b0a7035fa86 W. Kosior
5 daysservices: 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
5 daysservices: 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
5 daysservices: 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
5 daysgnu: mcron: Add traditional cron service.•••TODO: write good changelog entry Change-Id: Ib1e8f1afcbaae302eac51883e3b02a1d2c32a89e W. Kosior
5 daysservices: 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
5 daysservices: 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
5 daysservices: 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
5 daysservices: 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
5 daysservices: 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
5 daysservices: 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
5 daysservices: 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
5 daysservices: 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
5 daysservices: 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
5 daysservices: 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
5 daysservices: 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-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.•••* 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 Runciter
2025-01-26services: Add the Shepherd’s ‘transient’ and ‘timer’ to ‘%base-se...•••* gnu/services/base.scm (%base-services): Add instances of ‘shepherd-timer-service-type’ and ‘shepherd-transient-service-type’. Change-Id: I28a35d0dce40b142ee71b330b1cf7a3d222ef6bd Ludovic Courtès
2025-01-26services: shepherd: Add ‘transient’ and ‘timer’.•••* gnu/services/shepherd.scm (shepherd-timer-service-type) (shepherd-transient-service-type): New variables. * doc/guix.texi (Shepherd Services): Document them. Change-Id: I9b622e7e947e7a6384c2701a313d0c7080a0a5f6 Ludovic Courtès
2025-01-27services/gnome: Reinstate auto-configuration for GNOME Boxes.•••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> Maxim Cournoyer
2025-01-27services/desktop: Use transitively propagated GNOME packages for polkit/udev.•••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> Maxim Cournoyer
2025-01-26services: Export gnome-desktop-configuration-polkit-ignorelist accessor.•••* gnu/services/desktop.scm: Export gnome-desktop-configuration-polkit-ignorelist accessor. Change-Id: Ia2281c2c3f98e508d12d65487d72281821308d6e Maxim Cournoyer
2025-01-25services: restic-backup: Implement as a Shepherd timer.•••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> Giacomo Leidi
2025-01-16services: rottlog: Deprecate.•••* gnu/services/admin.scm (rottlog-service-type): Deprecate. * doc/guix.texi (Log Rotation): Add deprecation warning. Change-Id: I661666ff3de64a69ff4f4982d7f432fd575c36df Ludovic Courtès
2025-01-16services: Switch from mcron + Rottlog to Shepherd’s log rotation.•••* 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 Ludovic Courtès
2025-01-16services: unattended-upgrade: Rewrite as a Shepherd timer.•••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 Ludovic Courtès
2025-01-16services: log-cleanup: Rewrite as a Shepherd timer.•••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 Ludovic Courtès
2025-01-16services: Add ‘log-rotation-service-type’.•••* 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 Ludovic Courtès
2025-01-16services: dns: Minor cleanup of unbound service.•••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> Sören Tempel
2025-01-16services: Add xe-guest-utilities-service-type.•••* 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> Karl Hallsby
2025-01-16service: plasma: Allow access bluetooth devices in "System Settings".•••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 Raven Hallsby
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.•••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> Giacomo Leidi
2025-01-11services: nginx: Make log formats configurable.•••* 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 Leo Nikkilä
2025-01-11services: dns: Add unbound service.•••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 Sören Tempel
2025-01-11services: cuirass: Add ‘build-expiry’ field.•••* 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 Ludovic Courtès
2025-01-08services: static-networking: Fail when devices don’t show up.•••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 Ludovic Courtès
2025-01-08services: static-networking: Run set-up/tear-down as a separate process.•••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 Ludovic Courtès
2025-01-06services: rootless-podman-service-type: Allow not installing podman.•••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> Tomas Volf
2025-01-04services: dnsmasq: Allow custom Shepherd provision•••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> 45mg
2024-12-30services: elogind: Support hook directories.•••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> 45mg
2024-12-30services: resize-file-system: Remove invalid default value.•••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 Ludovic Courtès
2024-12-25services: rootless-podman: Fix PATH lookup for Shepherd services.•••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> Giacomo Leidi
2024-12-25services: syslog: fix configuration file argument•••* 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> 45mg
2024-12-23services: syslog: Adjust service for rsyslog compatibility.•••* 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> Jean-Baptiste Note
2024-12-23services: syslog: Add extra-options argument to syslog service.•••* 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> Jean-Baptiste Note
2024-12-18services: Add rootless-podman-service-type.•••* 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> Giacomo Leidi