Commit graph

2314 commits

Author SHA1 Message Date
45mg
a1e87abaa3
services: network-manager: Handle existing configuration directory.
* gnu/services/networking.scm (network-manager-activation):
Handle the case where /etc/NetworkManager/conf.d already exists.

Change-Id: I7af4f4ad226eef28bd8667f0708525e77a6a50c8
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2025-03-23 10:28:33 -07:00
Ludovic Courtès
a9dcd548fb
services: cuirass: Really allow ‘parameters’ to be a file-like object.
This is a followup to 7238114911.

* gnu/services/cuirass.scm (cuirass-shepherd-service): Turn
‘--parameters=’ bit into a gexp.

Change-Id: I5dd886b90ecea45157873e9c701e34988d6d31cc
2025-03-21 13:29:18 +01:00
Ludovic Courtès
7238114911
services: cuirass: Allow ‘parameters’ to be a file-like object.
* gnu/services/cuirass.scm (cuirass-shepherd-service): Turn
‘--parameters=’ bit into a gexp.

Change-Id: I3b533d97f59757cc8c18fdafe8d26b4f29f04202
2025-03-21 12:37:29 +01:00
Janneke Nieuwenhuizen
2f204a7303
services: Add snuik-service-type.
* gnu/services/messaging.scm (snuik-configuration): New type.
(snuik-services): New procedure.
(snuik-activation, %snuik-accounts, snuik-service-type): New variables.
* doc/guix.texi (Messaging Services): Document it.

Change-Id: I0c52b4804948876dc1b4d3b5ac660af848a13f25
2025-03-20 09:32:05 +01:00
Sergey Trofimov
81a911eab8
services: wireguard: Add the shepherd-requirement field.
* gnu/services/vpn.scm (<wireguard-configuration>): Add
shepherd-requirement.
(wireguard-shepherd-service): Pass shepherd-requirement. Add
user-processes to requirements.
* doc/guix.texi (VPN Services):[wireguard]: Document it.

Change-Id: Ia85add5067f6f9e023b8d65d6ce067b98eeb111e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-03-19 11:26:08 +01:00
Maxim Cournoyer
fa39695bbc
services/libvirt: Export libvirt-configuration field accessors.
* gnu/services/virtualization.scm: Export libvirt-configuration field
accessors.

Change-Id: I191235504ba0d2aaeffac9a10bd469ae0a561855
2025-03-18 23:35:24 +09:00
Ludovic Courtès
3f44387416
services: nginx: ‘stop’ method returns #f.
* gnu/services/web.scm (nginx-shepherd-service)[nginx-action]: Return #f
for ‘stop’.

Change-Id: I85290b5297f71a1dbfcd17b864d672d38c986d9b
2025-03-18 11:17:35 +01:00
Maxim Cournoyer
8b6e9acc26
services/configuration: Fix case where sub-documentation is nonexistent.
Commit 766ad072ad introduced a regression
where (configuration->documentation 'libvirt-configuration) would raise:

  (configuration->documentation 'libvirt-configuration)
  ice-9/boot-9.scm:1685:16: In procedure raise-exception:
  In procedure symbol->string: Wrong type argument in position 1 (expecting symbol): #f

* gnu/services/configuration.scm (generate-documentation): Re-introduce
previous handling of sub-documentation.

Change-Id: If2dbb59db5d22da221abfa2ffe7889854528a49c
2025-03-18 16:12:38 +09:00
Maxim Cournoyer
372802fe9a
services: libvirt: Fixup setting LINUX_MODULE_DIRECTORY variable.
This is a follow-up to commit 614ba97d98 ("gnu: libvirt: Fix path to Linux
modules.gnu: libvirt: Fix path to Linux modules."), which I had inadvertently
broken with a small change before applying.  Apologies!

* gnu/services/virtualization.scm (libvirt-shepherd-service): Add missing
string append to form LINUX_MODULE_DIRECTORY variable definition.

Change-Id: I304bdf20584d475fb01e3da995f0eddf430fb73b
2025-03-18 09:57:14 +09:00
nathan
614ba97d98
gnu: libvirt: Fix path to Linux modules.
* gnu/packages/virtualization.scm (libvirt): Use LINUX_MODULE_DIRECTORY to
find modules.
[source]: Add libvirt-respect-modules-path.patch.
* gnu/packages/patches/libvirt-respect-modules-path.patch: New file.
* gnu/local.mk: Register new file.
* gnu/services/virtualization.scm (libvirt-shepherd-service)
<#:environment-variables>: Pass LINUX_MODULE_DIRECTORY.

Change-Id: Idde5b59df3c1641fcbab376e6c694730769294d3
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-03-17 20:55:38 +09:00
Arun Isaac
fd19785a9a
gnu: mumi: Update to 0.11.0.
* gnu/packages/mail.scm (mumi): Update to 0.11.0.
* gnu/services/web.scm (<mumi-configuration>)[file-tags]: Remove field.
[packages]: New field.
(<mumi-package-configuration>): New record type.
(mumi-package-configuration->alist): New function.
* gnu/services/web.scm (mumi-config-file): Serialize packages configuration.
* doc/guix.texi (Web Services)[mumi]: Document packages configuration.
2025-03-17 03:02:31 +00:00
Zacchaeus
0e51c6547f
services: syncthing: Improve Syncthing code standard compliance.
* gnu/services/syncthing.scm: (syncthing-config-file,
syncthing-folder, syncthing-device, syncthing-folder-device): Rename
fields to avoid abbreviation, boolean values switched to use #t or #f,
numbers no longer provided as strings, config directory moved to
~/.local/state/syncthing
* doc/guix.texi: (syncthing-service-type): Update documentation to
reflect these changes.

Change-Id: I01c059e13658a0d1ad38aaebca3dcb0a268bbdba
2025-03-14 16:01:34 -04:00
Arun Isaac
85b0321908
gnu: mumi: Update to 0.9.0.
* gnu/packages/mail.scm (mumi): Update to 0.9.0.
* gnu/services/web.scm (mumi-config-file): Write mailer-enabled? field.
(mumi-shepherd-services): Remove --disable-mailer argument.
2025-03-14 16:02:10 +00:00
Christopher Baines
6a499bbb8e
services: guix-data-service: Use a script for database setup.
To avoid loading data service code in to the shepherd.

* gnu/services/guix.scm (guix-data-service-shepherd-services): Use a script
for database setup.

Change-Id: Ic67b33a98d63be69c8ee36d6e279d2c5690c179e
2025-03-12 09:27:47 +00:00
Tomas Volf
60e549975c
Add missing license file headers.
* gnu/packages/power.scm: Add the license file header.
* gnu/services/power.scm: Same.

Change-Id: I64a8d74a569797739735b9f08ecffa845219822c
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
2025-03-11 14:50:47 -07:00
Ludovic Courtès
d0510dcd82
gnu: Adjust tests for ‘shepherd-system-log-service-type’.
This is a followup to 8492a3c896.

* gnu/services/virtualization.scm (%minimal-vm-syslog-config): Remove.
(%system-log-message-destination): New variable.
(%virtual-build-machine-operating-system): Use it, and modify
‘shepherd-system-log-service-type’ instead of ‘syslog-service-type’.
* gnu/tests/base.scm (%avahi-os): Likewise.
* gnu/tests/install.scm (%syslog-conf): Remove.
(operating-system-with-console-syslog): Modify
‘shepherd-system-log-service-type’ instead of ‘syslog-service-type’.
* gnu/tests/nfs.scm (%nfs-os, run-nfs-full-test): Likewise.
* gnu/tests/reconfigure.scm (run-kexec-test): Likewise.

Change-Id: I142d34ad27594a538f5b75daf087e48c690171b8
2025-03-10 00:38:05 +01:00
Maxim Cournoyer
43c4d16ad9
services: Integrate gnome-keyring service in gnome-desktop service.
Previous to this change, GNOME users would have to manually add the
gnome-keyring-service-type to their services to have a default login keyring
created and unlocked at login time.  Some applications depend on a default
keyring being available, prompt repeatedly for it, which is confusing and
doesn't match user expectations, given most distributions use the GNOME
keyring pam module to unlock the login keyring by default.

* doc/guix.texi (Desktop Services): Update doc.
* gnu/services/desktop.scm (<gnome-keyring-configuration>): Move above
gnome-desktop-service-type, and streamline description.
(pam-gnome-keyring): Return the empty list when CONFIG is #f.
(gnome-desktop-configuration) [keyring]: New field.

Change-Id: Ica26c1e1b85a038c1187edfb3ec3691fcd429641
Reviewed-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-03-09 15:30:33 +09:00
Arun Isaac
ded45b7b9f
services: mumi: Add file-tags configuration.
* gnu/services/web.scm (<mumi-configuration>)[file-tags]: New field.
* gnu/services/web.scm (mumi-config-file): New function.
(mumi-shepherd-services): Pass --config argument.
* doc/guix.texi (Web Services)[mumi]: Document file-tags.
2025-03-08 22:57:36 +00:00
Sughosha
f7cf9fbec7
services: readymedia: Change directory permissions to 775.
Allow users in the ‘readymedia’ group to write in the directory created
by ‘readymedia-activation’.

* gnu/services/upnp.scm (readymedia-activation): Change directory permissions
to 775.

Change-Id: Ifda8e4fe8594fb5a1cdf6e329a8c83551eab9c06
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-03-08 18:11:14 +01:00
Sören Tempel
5ead9fa56c
services: networking: Add dhcpcd service.
This is intended as an alternative to dhcp-client-service-type as
isc-dhcp has reached its end-of-life in 2022 (three years ago!),
see #68619 for more details.  Long-term, this services is therefore
intended to replace dhcp-client-service-type.

* gnu/services/networking.scm (dhcpcd-service-type): New service.
(dhcpcd-shepherd-service): New procedure.
(dhcpcd-account-service): New variable.
(dhcpcd-config-file): New procedure.
(dhcpcd-configuration): New record type.
(dhcpcd-serialize-list-of-strings, dhcpcd-serialize-boolean)
(dhcpcd-serialize-string): New procedures.
(serialize-field-name): New procedure.
* gnu/tests/networking.scm (run-dhcpcd-test): New procedure.
(%dhcpcd-os, %test-dhcpcd): New variables.
* doc/guix.texi (Networking Services): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-03-08 16:09:41 +01:00
Maxim Cournoyer
97be0a837e
Revert "services/udev: Allow configuring udev to run in debug mode."
This reverts commit dd64f441d3.  Enabling debug
output for udevd apparently hangs the boot.
2025-03-05 14:25:05 +09:00
Ludovic Courtès
8492a3c896
services: Switch to ‘shepherd-system-log-service-type’ in ‘%base-services’.
This reinstates c83bfc0415, which had been
reverted in 8c483c12e9 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
2025-03-05 00:28:49 +01:00
Ludovic Courtès
749eb1a2dd
services: ‘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
2025-03-05 00:28:49 +01:00
Ryan Barber
b8645fc0bf
services: 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>
2025-03-04 08:32:49 +01:00
宋文武
ad5140e5c2
services: 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-02 20:31:48 +01:00
Maxim Cournoyer
dd64f441d3
services/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
2025-03-03 00:31:46 +09:00
Tomas Volf
d0e46a0003
services: 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>
2025-03-03 00:31:45 +09:00
Carlo Zancanaro
4319fb1aa9
services: 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>
2025-03-03 00:31:45 +09:00
Leo Famulari
8bc831325a
services: syncthing: Fix typo in file name.
This is a followup to commit 651f8765b6

* gnu/services/syncthing.scm (syncthing-files-service): Fix typo.

Change-Id: I55d1d480d356f41e65b85f8503ceb38c5c1a021b
2025-02-25 13:10:25 -05:00
Alexey Abramov via Guix-patches via
f83b91a4ee
services: 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>
2025-02-25 10:57:51 +00:00
Ludovic Courtès
61a9aa7fbe
services: 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
2025-02-24 23:33:51 +01:00
Simen Endsjø
075fe3083b
gnu: 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>
2025-02-24 23:21:06 +01:00
Ludovic Courtès
bd7b9e6a60
services: 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
2025-02-23 22:53:06 +01:00
Ludovic Courtès
e36d6ab24b
services: 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>
2025-02-21 15:27:12 +01:00
Ludovic Courtès
9f77db78e6
services: 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
2025-02-21 15:27:12 +01:00
Karl Hallsby
8d7578ba6c
services: 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>
2025-02-21 15:27:10 +01:00
Efraim Flashner
66daf46b41
gnu: Fix some misspellings.
Change-Id: I316652aff7418af4b8e83bea24638b1513f8aa97
2025-02-19 11:21:47 +02:00
Fernando Martínez González
5a0887ce84
services: 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>
2025-02-18 18:20:01 +01:00
Andreas Enge
9a41ec5762
gnu: 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
2025-02-17 14:57:55 +01:00
Zacchaeus
651f8765b6
services: 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>
2025-02-17 01:12:37 -05:00
Ludovic Courtès
8c483c12e9
Revert "services: Switch to ‘shepherd-system-log-service-type’ in ‘%base-services’."
This reverts commit c83bfc0415 and the
corresponding ‘etc/news.scm’ entry (commits
12bd93113c and
622568ec13) while investigating
<https://issues.guix.gnu.org/76315>.

Change-Id: Ie26c24b8cd25cee3466cc871470b0bec9a5dfafb
2025-02-16 23:09:41 +01:00
Christopher Baines
8416738409
gnu: 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
2025-02-16 16:02:27 +00:00
Ludovic Courtès
c83bfc0415
services: Switch to ‘shepherd-system-log-service-type’ in ‘%base-services’.
* 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
2025-02-15 22:47:59 +01:00
Ludovic Courtès
190a4275bd
services: 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
2025-02-15 22:47:58 +01:00
Roman Scherer
af643735a5
services: 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>
2025-02-15 23:22:54 +09:00
Christopher Baines
fa485ee60e
services: 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
2025-02-13 09:10:43 +00:00
45mg
0caba8f5db
services: 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>
2025-02-13 01:02:03 +09:00
Maxim Cournoyer
ae0d335744
services: herd: Export 'eval-there' in API.
* gnu/services/herd.scm (gnu): Export 'eval-there', which is useful to
evaluate Scheme expressions.

Change-Id: Iff1db56e0847fc5886ac9fe594d677b363e7e6e7
2025-02-13 00:07:21 +09:00
Ludovic Courtès
ec1ada040d
services: log-cleanup: Add Shepherd service documentation.
* gnu/services/admin.scm (log-cleanup-shepherd-services): Add
‘documentation’ field.

Change-Id: Ie24033db668a366474f8307e5e8908fd27c06dda
2025-02-12 10:11:01 +01:00
Ludovic Courtès
5f6fdadb4a
services: user-processes: Remove support for /etc/shepherd/do-not-kill.
The /etc/shepherd/do-not-kill feature has been unused since commit
c828969036, which switched from
unionfs (FUSE) to overlayfs.

* gnu/services/shepherd.scm (%do-not-kill-file): Remove.
(user-processes-shepherd-service): In ‘stop’ action, remove
‘kill-except’, ‘omitted-pids’, and ‘lset=’.  Remove conditionals on
‘omitted-pids’ being non-empty.

Change-Id: Id7c6031fc12fd8ff0a3fde955fb01e373751e2d0
2025-02-09 18:20:42 +01:00