Age | Commit message (Expand) | Author |
5 days | services: 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 days | services: 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 days | services: 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 days | services: 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 days | services: 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 days | services: 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 days | gnu: mcron: Add traditional cron service.•••TODO: write good changelog entry
Change-Id: Ib1e8f1afcbaae302eac51883e3b02a1d2c32a89e
| W. Kosior |
5 days | services: 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 days | services: 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 days | services: 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 days | services: 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 days | services: 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 days | services: 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 days | services: 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 days | services: 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 days | services: 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 days | services: 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 days | services: 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-31 | gnu: 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-26 | services: 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-26 | services: 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-26 | services: 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-27 | services/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-27 | services/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-26 | services: 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-25 | services: 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-16 | services: 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-16 | services: 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-16 | services: 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-16 | services: 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-16 | services: 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-16 | services: 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-16 | services: 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-16 | service: 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-12 | gnu: 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-11 | services: 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-11 | services: 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-11 | services: 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-11 | services: 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-08 | services: 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-08 | services: 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-06 | services: 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-04 | services: 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-30 | services: 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-30 | services: 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-25 | services: 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-25 | services: 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-23 | services: 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-23 | services: 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-18 | services: 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 |