Commit graph

2089 commits

Author SHA1 Message Date
Herman Rimm
92ecc0adfa
gnu: build: file-systems: Return uuid records.
* gnu/bootloader.scm (menu-entry->sexp, sexp->menu-entry): Swap order in
match subprocedures.
* gnu/build/file-systems.scm (ext2-superblock-uuid,
linux-swap-superblock-uuid, bcachefs-superblock-external-uuid,
btrfs-superblock-uuid, exfat-superblock-uuid, fat32-superblock-uuid,
fat16-superblock-uuid, iso9660-superblock-uuid, jfs-superblock-uuid,
f2fs-superblock-uuid, luks-header-uuid, ntfs-superblock-uuid,
xfs-superblock-uuid): Wrap bytevector in uuid record.
* gnu/build/image.scm (make-iso9660-image): Take uuid as string.
* gnu/installer/parted.scm (user-partition->file-system): Do not provide
uuid-type.
* gnu/system/image.scm (system-iso9660-image): Convert uuid to string.
* gnu/system/uuid.scm (dce-uuid->string, iso9660-uuid->string): Do not
export.

Change-Id: I35435de0d808e66e17fd9b54247a7a11a93ecd62
2024-10-08 10:36:40 -04:00
Lilah Tascheter
e2e20d4002
gnu: tests: Update tests to new targets system.
* gnu/services/virtualization.scm
(%virtual-build-machine-operating-system): Remove bootloader.
(%hurd-vm-operating-system): Remove targets.
* gnu/system/hurd.scm (%hurd-default-operating-system): Remove targets.
* gnu/system/images/wsl2.scm (dummy-bootloader): Delete variable.
(wsl-os)[bootloader]: Don't provide field.
* gnu/system/vm.scm (virtualized-operating-system): Don't provide
bootloader.
* gnu/tests.scm (%simple-os), gnu/tests/ganeti.scm (%ganeti-os),
gnu/tests/image.scm (%simple-efi-os), gnu/tests/nfs.scm (%base-os),
gnu/tests/telephony.scm (make-jami-os), gnu/tests/vnc.scm (%xvnc-os):
Update bootloader targets.
* gnu/tests/install.scm (%minimal-os, %minimal-extlinux-os,
%minimal-os-on-vda, %separate-home-os, %separate-store-os,
%raid-root-os, %encrypted-root-os, %lvm-separate-home-os,
%encrypted-home-os, %encrypted-home-os-key-file,
%encrypted-root-not-boot-os, %btrfs-root-os-source,
%btrfs-raid-root-os-source, %btrfs-root-on-subvolume-os,
%btrfs-raid10-root-os, %jfs-root-os, %f2fs-root-os, %xfs-root-os):
Update bootloader targets.
(%btrfs-raid10-root-os): Use multiple bootloaders.

Change-Id: I3d66a839a9b2a73b8b65946950728b1e0155ca1e
2024-10-08 10:36:39 -04:00
Maxim Cournoyer
cf3f9230c3
services: Extend udev rules in joycond-service-type.
* gnu/services/games.scm (joycond-service-type): Also extend the udev service
with the configured joycond package.
* doc/guix.texi (Game Services): Update documentation.

Change-Id: I9f7fb0da5cfc1f8a7e8bb5f2ce7161e5e66b2f5e
2024-10-07 01:20:22 +09:00
Maxim Cournoyer
6954cc6c7a
services: networking: Add 'version' field to dhcp-client-configuration.
* gnu/services/networking.scm (<dhcp-client-configuration>)
[version]: New field.
(dhcp-client-shepherd-service): Use 'match-record' instead of various
accessors.  Honor the new 'version field'.  Include the version the PID file
name when a non-default version is used.
* doc/guix.texi (Networking Setup) <dhcp-client-configuration>
[version]: Document it.

Change-Id: I6236ae160967c95fe7a2c1785821cc9b0c183e77
2024-10-07 01:20:21 +09:00
Ludovic Courtès
447bcead88
services: file-system: Do not try to unmount /dev and /.
Previously, when being stopped, the ‘user-file-systems’ service would
attempt to unmount / and /dev, which was bound to fail.  This was
harmless, apart from a couple of lines in /var/log/messages, but it was
wrong.

* gnu/services/base.scm (file-system-shepherd-services)[user-unmount]:
Remove “/” and “/dev” from the list of file systems subject to
unmounting.

Change-Id: Ieb68fe46c114909a64d54f885c94a9d7cd61f5e0
2024-09-19 19:03:08 +02:00
Andreas Enge
1c088531cf
services: guix-build-coordinator-agent: Add extra-options.
* gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>):
Add field extra-options.
(guix-build-coordinator-agent-shepherd-services): Add and use EXTRA-OPTIONS
argument.
* doc/guix.texi (Guix Services): Adapt the documentation.

Change-Id: I9e7e258e03e2b6553aa1570f5fcfaf3b0ada3e15
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail>
2024-09-18 11:21:06 +02:00
Andreas Enge
fb8c4916be
services: guix-build-coordinator-agent: Remove defaults.
* gnu/services/guix.scm (<guix-build-coordinator-agent-configuration>)
[max-parallel-builds, max-parallel-uploads]: Set default to #f.
(guix-build-coordinator-agent-shepherd-services): Check for
max-parallel-builds.
* doc/guix.texi (Guix Services): Adapt the documentation.

If set to #f, the default values are now taken as the defaults of the
guix-build-coordinator-agent command.

Change-Id: Ide6dde0e88aa0dc851b6295095f414ca2ddc72ac
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail>
2024-09-18 11:20:35 +02:00
Richard Sent
85556e1dab
services: admin: Support rebooting after an unattended upgrade
* gnu/services/admin.scm (unattended-upgrade-configuration): Add reboot?
field. When truthy, unattended upgrade will stop the shepherd root service,
triggering a reboot.
* doc/guix.texi (Unattended Upgrades): Document it.

Change-Id: I0af659b3c318421b1a7baa94dde3dadacc1fa10d
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-09-16 00:16:21 +02:00
Tobias Geerinckx-Rice
fb1a8642ee
services: desktop: Migrate to (gnu system privilege).
* gnu/services/desktop.scm (desktop-services-for-system): Extend
PRIVILEGED-PROGRAM-SERVICE-TYPE rather than SETUID-PROGRAM-SERVICE-TYPE
and use the totally new FILE-LIKE->SETUID-PROGRAM.

Change-Id: Ia8cac67c8234657332390794a41d91e60f788d90
2024-09-08 02:00:00 +02:00
Tobias Geerinckx-Rice
67f4a3ddfd
services: polkit: Migrate to (gnu system privilege).
* gnu/services/dbus.scm (polkit-setuid-programs): Rename this…
(polkit-privileged-programs): …to this.
(polkit-service-type): Extend PRIVILEGED-PROGRAM-SERVICE-TYPE with it.

Change-Id: Iae742ada6162301cdca9df5df5502f70037aaef2
2024-09-08 02:00:00 +02:00
Tobias Geerinckx-Rice
c6fe8424e4
services: dbus: Migrate to (gnu system privilege).
* gnu/services/dbus.scm (dbus-setuid-programs): Rename this…
(dbus-privileged-programs): …to this.  Return a <privileged-program> list.
(dbus-root-service-types): Extend PRIVILEGED-PROGRAM-SERVICE-TYPE with it.

Change-Id: I1f1871bb1e9fd1b37aa0c7890356469c3143e8a6
2024-09-08 02:00:00 +02:00
Tobias Geerinckx-Rice
0dd8e4c351
privilege: Add file-like->setuid-program helper.
* gnu/system/privilege.scm (file-like->setuid-program): New public
procedure.
* gnu/system/setuid.scm: Re-export it for compatibility.
(file-like->setuid-program): Remove this old version.
* gnu/services/docker.scm (singularity-setuid-programs): Use it (again).
* gnu/services/desktop.scm (enlightenment-privileged-programs): Likewise.

Change-Id: I8e41144438677a15cdadb3063651dbc780715497
2024-09-08 02:00:00 +02:00
Rostislav Svoboda
a3d10e080b
gnu: upower-service-type: Fix typo in the description field.
* gnu/services/desktop.scm (upower-service-type): Fix typo in the
description field.

Change-Id: Ifc6e5a86bd1a031353bd2e93871c314c7937adeb
Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
2024-09-14 01:36:45 +02:00
Tobias Geerinckx-Rice
98bc13b9ea
services: singularity: Migrate to (gnu system privilege).
* gnu/services/docker.scm (singularity-setuid-programs): Rename from this…
(singularity-privileged-programs): …to this.  Use <privileged-program>.
(singularity-service-type): Extend the PRIVILEGED-PROGRAM-SERVICE-TYPE.

Change-Id: I4d90f9a6d4759a24a818baab49b61be67c419bad
2024-09-01 02:00:00 +02:00
Tobias Geerinckx-Rice
76cb23c117
services: screen-locker: Migrate to (gnu system privilege).
* gnu/services/xorg.scm (screen-locker-setuid-programs): Rename from this…
(screen-locker-privileged-programs): …to this.  Use <privileged-program>.
(screen-locker-service-type): Extend the PRIVILEGED-PROGRAM-SERVICE-TYPE.

Change-Id: Icbd891def4fc90ed5365702731f009dec358c19e
2024-09-01 02:00:00 +02:00
Ludovic Courtès
89fdc4b45f
services: host-name: Use the host name as the running value.
Previously, the “running value” of the ‘host-name’ service would
be #<unspecified>.  This change makes it more pleasing to the eye.

* gnu/services/base.scm (host-name-service-type): ‘start’ returns NAME.

Change-Id: I38b8320e43639b6623475871ca6fbad3a459eb59
2024-09-09 17:17:55 +02:00
Richard Sent
b300a09165
services: certbot: Add certbot-configuration-package to profile.
As the manual suggests running a certbot command to view the issued
certificates, add it to the profile.

* gnu/services/certbot.scm (certbot-service-type): Extend profile-service-type
with certbot-configuration-package.

Change-Id: I92618597bbdc8d838420b2e0f82de601b0bc609b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-09-03 13:59:33 +02:00
Rodion Goritskov
61a7930cb0
services: agate: Change variable names and add system test.
* doc/guix.texi (Web Services): Update documentation for agate-service-type.
* gnu/services/web.scm (agate-configuration): Rename certs, addr, lang and
central-conf variables.
* gnu/tests/web.scm (%test-agate): Add system test for agate-service-type.

Change-Id: Ie14814fca1d5158acd67899da0c3fc2c5b586c72
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-08-31 19:06:39 +02:00
Sergio Pastor Pérez
ebe00a20e2
services: mcron: Fix home version not respecting user PATH variable.
Without this fix, deploying `home-mcron-service-type' will strip user's PATH
variable from it's environment. This means that, programs such as `notmuch',
which use hooks which usually invoke `notmuch' from path, would need to be
updated with full paths; which makes it very inconvenient to use.

* gnu/services/mcron.scm (mcron-shepherd-services): respect user PATH variable.

Change-Id: I104aa0a818ad6c3266b2b8f73a9609bfb36e314d
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-08-28 16:37:32 +02:00
Tobias Geerinckx-Rice
ed3649bcce
services: Refactor opensmtpd-set-gids.
* gnu/services/mail.scm (opensmtpd-set-gids):
Rewrite using MAP technology.

Change-Id: I30b7eddaf64d242196b1c56f98dec42a86436c18
2024-08-18 02:00:00 +02:00
Tobias Geerinckx-Rice
79833cdbc6
services: Migrate opensmtpd to (gnu system privilege).
* gnu/services/mail.scm (opensmtpd-set-gids): Migrate to
PRIVILEGED-PROGRAM from SETUID-PROGRAM…
(opensmtpd-service-type): … and to PRIVILEGED-PROGRAM-SERVICE-TYPE
from SETUID-PROGRAM-SERVICE-TYPE.

Change-Id: Ide434aa480ea3316c971c58898088d72b5b6671f
2024-08-18 02:00:00 +02:00
Tobias Geerinckx-Rice
2e57152147
services: Migrate enlightenment to (gnu system privilege).
* gnu/services/desktop.scm
(enlightenment-setuid-programs): Rename from this…
(enlightenment-privileged-programs): …to this, replacing
‘setuid’ variables with their ‘privileged’ counterparts.
(enlightenment-desktop-service-type): Adjust accordingly.

Change-Id: Ied2a93eb948c4df35e2b384eeee8181937b474de
2024-08-18 02:00:00 +02:00
Sergio Pastor Pérez
a1d367d6ee
services: syncthing: incorrect guessing of HOME variable
Fixed the issue described here:
https://lists.gnu.org/archive/html/help-guix/2024-01/msg00034.html

Fix `syncthing-shepherd-service` failing to guess the correct `HOME`
environment variable when it's `<syncthing-configuration>` does not have a
value for the `home` or `user` fields.

* gnu/services/syncthing.scm (syncthing-shepherd-service): Change ‘HOME’
value in #:environment-variables argument.

Change-Id: I102bfe5feba1ebb349a0cde1c987c0c10ebbab7a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-08-21 19:04:25 +02:00
Morgan Smith
0b65a43cf8
services: elogind-configuration: Add more sleep configurations
* gnu/services/desktop.scm (<elogind-configuration>): Allow actions to be set
to 'suspend-then-hibernate'.  Add configuration for 'hibernate-delay-seconds'
and 'suspend-estimation-seconds'.

* doc/guix.texi (Desktop Services): Add documentation for
'hibernate-delay-seconds' and 'suspend-estimation-seconds'.

Change-Id: Icf788fcc88451aa6174a608fbed309961b847430
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-08-21 18:58:35 +02:00
Tobias Geerinckx-Rice
902b15b24d
gnu: Replace (almost) all uses of /run/setuid-programs.
…those good for master, anyway.

* gnu/packages/admin.scm (ktsuss, opendoas, hosts)
[arguments]: Replace /run/setuid-programs with /run/privileged/bin.
* gnu/packages/containers.scm (slirp4netns)[arguments]: Likewise.
* gnu/packages/debian.scm (pbuilder)[arguments]: Likewise.
* gnu/packages/disk.scm (udevil)[arguments]: Likewise.
* gnu/packages/enlightenment.scm (efl, enlightenment)
[arguments]: Likewise.
* gnu/packages/gnome.scm (gdm, gnome-control-center)
[arguments]: Likewise.
* gnu/packages/linux.scm (singularity)[arguments]: Likewise.
* gnu/packages/lxde.scm (spacefm)[arguments]: Likewise.
* gnu/packages/monitoring.scm (zabbix-agentd)[arguments]: Likewise.
* gnu/packages/virtualization.scm (ganeti)[arguments]: Likewise.
* gnu/packages/xdisorg.scm (xsecurelock)[arguments]: Likewise.
* gnu/services/dbus.scm (dbus-configuration-directory): Likewise.
* gnu/services/ganeti.scm (%default-ganeti-environment-variables):
Likewise.
* gnu/services/monitoring.scm (zabbix-agent-shepherd-service): Likewise.
* gnu/tests/ldap.scm (marionette): Likewise.
* gnu/tests/monitoring.scm (os): Likewise.
2024-08-11 02:00:00 +02:00
Oleg Pykhalov
26638b8e81
services: containerd: Provision separately from docker service.
containerd can operate independently without relying on Docker for its
configuration.

* gnu/services/docker.scm (docker-configuration): Deprecate containerd field.
(containerd-configuration, containerd-service-type): New variables.
(docker-shepherd-service): Use containerd-configuration.  Delete duplicated
variable binding.  Allow to configure environment variables.
(docker-service-type): Delete extension with containerd-service-type.
* gnu/tests/docker.scm (%docker-os, %oci-os): Add containerd service.
(run-docker-test, run-docker-system-test, run-oci-container-test): Run
containerd service.
* doc/guix.texi (Miscellaneous Services): Document containerd-service-type.

Change-Id: Ife0924e50a3e0aa2302d6592dae51ed894600004
2024-08-04 11:54:50 +03:00
Rodion Goritskov
4bc49e2185
services: agate: Update options for compatibility with the current Agate version.
* gnu/services/web.scm (<agate-configuration>)[certs]: Add.
[cert]: Remove.
[key]: Remove.
[hostname]: Change from string to list.
[silent?]: Remove.
[only-tls13?]: Add.
[central-conf?]: Add.
[ed25519?]: Add.
[skip-port-check?]: Add.
(agate-shepherd-service): Change handling of addr and hostname, add new
options handling.
* doc/guix.texi (Web Services): Update.

Change-Id: Ifb4968d704627344913bb69f20636d710a4fe738
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-07-26 18:55:07 +02:00
Zheng Junjie
fb803e6894
service: plasma-desktop: Add kwallet dbus.
* gnu/services/desktop.scm (plasma-dbus-service): Add kwallet.

Change-Id: I09b8fc5e98602992fb4854dfaae2f60afa339620
2024-07-18 10:45:37 +08:00
Zheng Junjie
06c1bdadeb
services: plasma: Add dbus settings.
* gnu/services/desktop.scm (plasma-dbus-service): New procedure.
(plasma-desktop-service-type)[extensions]: Add It.

* gnu/packages/kde-plasma.scm (plasma-workspace)[arguments]: Add
remove-dbus-service phase.

Change-Id: Iadadbff7183bc4655e4cb9bc28cd85df19511949
2024-07-18 10:45:34 +08:00
Zheng Junjie
8b5c21269f
services: sddm: Adjust pass env.
* gnu/services/sddm.scm (sddm-shepherd-service): Adjust pass env when sddm
build with qt6.

Change-Id: Iabaa22824db8048c7c86921010b970226f85b7a5
2024-07-18 10:45:19 +08:00
Tomas Volf
e8347bc177
services: web: Return success from nginx-action.
Previous value of #f lead to `head reload nginx' returning exit code 1,
complicating usage from scripts (and other actions).  Returning #t fixes that.
Any actual failures are still covered by the invoke call above.

* gnu/services/web.scm (nginx-shepherd-service)[nginx-action]<-s>: Return #t.

Change-Id: I4ce1645798a85baddeb0f5bd702a2567db3c7aaa
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-07-10 16:05:54 +02:00
Tomas Volf
01183a77aa
services: web: Pass run-directory to nginx's actions.
Reloading nginx lead to (harmless, yet annoying) alert being logged:

    nginx: [alert] could not open error log file: open() "/gnu/store/9l2lznlqpjcm79znq1xas378maqgysc8-nginx-1.27.0/logs/error.log" failed (2: No such file or directory)

Since there already is prepared runtime directory for nginx, all that was
missing was to also pass it to the reload and reopen invocations.

* gnu/services/web.scm (nginx-shepherd-service)[reload, reopen]: Pass -p flag
with run-directory as value.

Change-Id: Id5c558d65def8c1fe5cf581a4a370508ac05e550
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-07-10 16:05:10 +02:00
Giacomo Leidi via Guix-patches via
5ee2799cab
services: oci-container: Allow setting Shepherd actions in oci-container-configuration.
* gnu/services/docker.scm (oci-container-configuration)
[shepherd-actions]: New field.
(sanitize-shepherd-actions): sanitize it.
(oci-container-shepherd-service): use it.

* doc/guix.texi: Document it.

Change-Id: I0ca9826542be7cb8ca280a07a9bff1a262c2a8a7
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-07-05 15:12:34 +08:00
Giacomo Leidi via Guix-patches via
cb57a3fd9f
services: oci-container: Allow setting Shepherd respawn? in oci-container-configuration.
* gnu/services/docker.scm (oci-container-configuration)
[respawn?]: New field.
(oci-container-shepherd-service): use it.

* doc/guix.texi: Document it.

Change-Id: I0d6367607fd0fd41f90a54b33d80bf4d4f43dd8b
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-07-05 15:12:34 +08:00
Giacomo Leidi via Guix-patches via
7d91bd4530
services: oci-container: Allow setting Shepherd auto-start? in oci-container-configuration.
* gnu/services/docker.scm (oci-container-configuration)
[auto-start?]: New field.
(oci-container-shepherd-service): use it.

* doc/guix.texi: Document it.

Change-Id: Id093d93effbbec3e1be757f8be83cf5f62eaeda7
Signed-off-by: Zheng Junjie <zhengjunjie@iscas.ac.cn>
2024-07-05 15:12:34 +08:00
Giacomo Leidi via Guix-patches via
30ba86cb71
services: oci-container: Allow setting Shepherd log-file in oci-container-configuration.
* gnu/services/docker.scm (oci-container-configuration)
[log-file]: New field.
(oci-container-shepherd-service): use it.

* doc/guix.texi: Document it.

Change-Id: Icad29ac6342b6f5bafc0d9be13a93cee99674185
2024-07-05 15:12:34 +08:00
Tomas Volf
76a2b9d707
services: guix: Default `channels' field to #f.
In the absence of the /etc/guix/channels.scm file, %default-channels is used
anyway.  If user manually (or by extra-special-file) created the file, we
should respect it.  This commit therefore changes the default to #f, hopefully
having zero impact on people not actively using the `channels' field.

* gnu/services/base.scm (<guix-configuration>)[channels]: Set default to #f.

Change-Id: I516c1735a037a153fabbebfc337051aaf0be2155
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-06-26 23:36:24 +02:00
Ludovic Courtès
7c8d38f91e
services: Never throw when stopping mount-may-fail file systems.
This is a followup to 7c27bd115b.

* gnu/services/base.scm (file-system-shepherd-service): Catch
'system-error from ‘umount’ call when FILE-SYSTEM is marked as
mount-may-fail.

Change-Id: I2234f8da320b43089f4ee058cad8608ce9c078f8
2024-06-26 22:52:03 +02:00
Ludovic Courtès
0a220c1599
services: shepherd: Support “free-form” services.
* gnu/services/shepherd.scm (<shepherd-service>)[free-form]: New field.
[start]: Add default value.
(shepherd-service-file): Rename to…
(shepherd-service-file/regular): … this.
(shepherd-service-file/free-form): New procedure.
(shepherd-service-file): Dispatch to one of the two procedures above.
* doc/guix.texi (Shepherd Services): Document the ‘free-form’ field.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>

Change-Id: I206374e950ef6d1e4a996c0f507fb5fcd9cadde3
2024-06-26 22:51:25 +02:00
Richard Sent
da3e71f472
services: web: Improve nginx formatting for extra-content.
When extra-content is a list, add 4 space indentation and a newline to every
line. If it's a string, continue inserting it directly. This makes the list
serialization behavior more consistent with other services.

* gnu/services/web (default-nginx-config): Support lists.
* doc/guix.texi (Web Services)[nginx-configuration]: Document it.

Change-Id: Iec8614ba3cfc37292a566197e8d39b352b04846a
Signed-off-by: Christopher Baines <mail@cbaines.net>
2024-06-26 15:11:52 +01:00
Richard Sent
b539e5ae39
services: networking: Allow dhcp-client to use a config file.
* gnu/services/networking.scm (dhcp-client-configuration) [config-file]: New
field.
(dhcp-client-configuration-config-file): New accessor.
(dhcp-client-shepherd-service): Use the config file when invoking
dhclient if supplied.
* doc/guix.texi: Document it.

Change-Id: I286de4ddf59c5e606bf1fe0a7510570869e62b1a
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-06-24 08:50:45 -04:00
Yarl Baudig
2455c4ded9
services: mpd: Fix log to file.
(match value (%unset-value ...)) is equivalent here to
(match value (_ ...)). Even if you set 'log-file to some path, it's always
"syslog" in the configuration file.

* gnu/services/audio.scm (mpd): Fix buggy 'match'.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: If397919c2844d856c69fe00b8907b7b3fd86e564
2024-06-24 08:34:45 -04:00
Juliana Sims
b49e556b9e
services: radicale: Use define-configuration.
* doc/guix.texi (radicale-configuration): Update documentation to reflect new
configuration, add new symbols.
* gnu/services/mail.scm (%default-radicale-config-file): Delete.
(radicale-auth-configuration, radicale-auth-configuration?)
(radicale-encoding-configuration, radicale-encoding-configuration?)
(radicale-logging-configuration, radicale-logging-configuration?)
(radicale-rights-configuration, radicale-rights-configuration?)
(radicale-server-configuration, radicale-server-configuration?)
(radicale-storage-configuration, radicale-storage-configuration?):
New configuration types and corresponding predicates.
(radicale-configuration, radicale-configuration?): Use define-configuration.
(radicale-activation, radicale-shepherd-service): Update to new
configuration format.
(radicale-activation): Use user-defined values for service files.
(radicale-service-type): Capitalize "Radicale" in description.

Change-Id: Ic88b8ff2750e3d658f6c7cee02d33417aa8ee6d2
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2024-06-23 10:09:01 +02:00
Sergey Trofimov
10d8bbdabb
services: dnsmasq: Add escape hatch.
* gnu/service/dns.scm: (<dnsmasq-configuration>)[extra-options]: Add.
* doc/guix.texi: Document (<dnsmasq-configuration>)[extra-options].

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I7d2df7aa5d3b041b69b2f8b3e311a7328c28a3be
2024-06-13 22:43:59 +02:00
Christopher Baines
1da1b42cac
services: guix-build-coordinator: Don't log with timestamps.
As the shepherd adds these to the logs.

* gnu/services/guix.scm (make-guix-build-coordinator-start-script): Pass
 #:timestamp-log-output? #f to make-build-coordinator.
(guix-build-coordinator-agent-shepherd-services): Add
--timestamp-log-output=false to the arguments.

Change-Id: I9073ee7b1cefa894d38fdf3831c59de693e087f6
2024-06-06 17:53:49 +01:00
Zheng Junjie
2b2337f275
services: oci-container: Fix provided image is string.
gnu/services/docker.scm (oci-container-shepherd-service): When image is
oci-image, call %oci-image-loader.

Change-Id: I26105e82643affe9e7037975e42ec9690089545b
2024-06-06 13:55:20 +08:00
Richard Sent
579df5bc80
services: base: Add optional delayed mount of file-systems
Add a mechanism to only require mounting a subset of file-system entries
during early Shepherd initialization. Any file-system with additional Shepherd
service requirements (e.g. networking) is not required to provision
'file-systems.

* gnu/services/base.scm (file-system-shepherd-service): Splice
file-system-requirements into the Shepherd service requirement list.
(file-system-shepherd-services): Provision 'file-system only when file system
services without additional Shepherd requirements are started.
* gnu/system/file-systems.scm (file-system): Add shepherd-requirements field
to the file-system record. This field is used for adding additional Shepherd
requirements to a file-system Shepherd service.
* doc/guix.texi: Add documentation for file-system shepherd-requirements.

Change-Id: If0392db03d48e8820aa53df1df482c12ec72e1a5
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-06-04 12:08:34 +02:00
Ludovic Courtès
85ac164c41
services: nscd: Enable ‘passwd’ and ‘group’ caches by default.
This allows users to specify NSS plugins such as LDAP via the
‘name-services’ field of <nscd-configuration>.  Failing that, user code
will dlopen whatever passwd/group plugins are listed in
/etc/nsswitch.conf, which is likely to fail, typically because those are
not in $LD_LIBRARY_PATH.

* gnu/services/base.scm (%nscd-default-caches): Add ‘passwd’ and ‘group’
caches.

Change-Id: I9c03346a1de2710685f7801eccd2e08007427f5d
2024-06-03 23:00:10 +02:00
Ludovic Courtès
20e7b89218
services: darkstat: Depend on ‘user-processes’.
* gnu/services/monitoring.scm (darkstat-shepherd-service): Add
‘user-processes’ to ‘requirement’.

Change-Id: I6abaefd88c6075a0379e5867838653765dfaa08e
2024-06-02 20:52:24 +02:00
Ludovic Courtès
3298ec0200
services: avahi: Use socket activation and log to stderr.
* gnu/services/avahi.scm (avahi-shepherd-service): Change to systemd
style.  Remove ‘--daemonize’ option and #:pid-file.  Add #:lazy-start?
and #:log-file.

Change-Id: I1915243f057ff3bbe281f46f17826f24b124f659
2024-06-02 20:52:24 +02:00