Commit graph

2362 commits

Author SHA1 Message Date
Maxim Cournoyer
a42630e85b
services: ngircd: Expose a new ssl-verify? option.
* gnu/services/messaging.scm (ngircd-server) [ssl-verify?]: New field.
* doc/guix.texi (Messaging Services): Regenerate doc.

Change-Id: Ia2d6e557bd89448d8cc2d1cd88e606e2b1ef5029
2025-04-14 10:34:51 +09:00
Maxim Cournoyer
f47ff4fcce
services: ngircd: Allow specifying Shepherd requirements.
* gnu/services/messaging.scm (ngircd-configuration)
[shepherd-requirement]: New field.
* gnu/services/messaging.scm (ngircd-shepherd-service) [requirement]: Use it.
* doc/guix.texi (Messaging Services): Update doc.

Change-Id: I8164c132ca25830885005d0e8f55554047c84a95
2025-04-14 10:34:51 +09:00
Maxim Cournoyer
dedeb90501
gnu: eudev: Build with udevrulesdir pointing to /etc/udev/rules.d.
Prior to this change, only the udev rules installed to eudev's prefix were
consulted by tools such as udevadm, leading to problems such as when
configuring network interfaces, or attempting to override its default rules.

While our custom eudev patch adding support for the EUDEV_RULES_DIRECTORY
environment variable could have been refined to take precedence over the
package's configured udevrulesdir, this was not pursued for the following
reasons:

1. Due to eudev's using inotify to detect new rules, the EUDEV_RULES_DIRECTORY
is fixed in Guix System, per commit e9fa17eb98 ("services: udev: Use a fixed
location for the rules directory and config.")

2. Users would have had to set EUDEV_RULES_DIRECTORY to the fixed directory
themselves to have udevadm work as expected, which is inconvenient.

3. This simple solution is already implemented and tested in NixPkgs.

* gnu/packages/linux.scm (eudev) [source]: Remove custom patch.
[arguments] <#:make-flags>: New argument.
<#:phases>: Override install phase to alter installation make flags.
* gnu/services/base.scm (udev-shepherd-service): Do not set
EUDEV_RULES_DIRECTORY environment variable.
* gnu/packages/patches/eudev-rules-directory.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): De-register it.

Fixes: https://issues.guix.gnu.org/63508
Reported-by: Felix Lechner <felix.lechner@lease-up.com>
Change-Id: Ib8698f4b452f6fd0951bcd71831705b1be85e6e0
2025-04-11 12:42:47 +01:00
Maxim Cournoyer
c17c6b9820
services/base: Remove extraneous UDEV_CONFIG_FILE environment variable.
This environment variable used to be honored by udevd, but that is no longer
the case (as shown by grepping its source).

* gnu/services/base.scm (udev-shepherd-service) <#:environment-variables>:
Remove UDEV_CONFIG_FILE.

Change-Id: I0828de76e8da429432bc0679903aa501c99625af
2025-04-11 12:42:47 +01:00
Felix Lechner
6036f1f305
services: opensmtpd: Add logging to a file.
* gnu/services/mail.scm (opensmtpd-configuration): Add log-file field.
(opensmtpd-shepherd-service)[start]: Add a command line flag to not
daemonize. Drop #:pid-file. Add #:log-file.
* doc/guix.texi (Mail Services): Document the additional parameter.

Change-Id: I485e040d680ccb39fa62e49d2e6ea916f047972c
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-04-10 15:40:25 +02:00
Leo Famulari
bb4ce5cc47
services: Make the urandom-seed-service-type return success properly.
Reported by nigko on #guix:

https://logs.guix.gnu.org/guix/2025-04-05.log#201718

* gnu/services/base.scm (urandom-seed-shepherd-service): Return #f when
stopped.

Change-Id: I8212508e4a017270e4e9284b43170cd17999e8b4
2025-04-08 20:03:09 -04:00
Gabriel Wicki
ac83a22375
gnu: services: mail: Remove duplicate in dovecot-configuration.
* gnu/services/mail.scm(dovecot-configuration): [namespaces] Remove duplicate
entry "Drafts".

Change-Id: Ibbdb45ede34b1c4aba8ae460e408e554120880e9
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-04-08 17:18:33 +02:00
Ludovic Courtès
8c3e925ace
services: anonip: Rotate log files.
* gnu/services/web.scm (anonip-log-files): New procedure.
(anonip-service-type): Use it to extend ‘log-rotation-service-type’.
* doc/guix.texi (Log Rotation): Document it.

Change-Id: I903bb79e0992b794bb0a40e504283cd57a8a087b
2025-04-08 17:12:29 +02:00
Nigko Yerden
accb75c33b
services: tlp: Make destructor return #f on success.
* gnu/services/pm.scm (tlp-shepherd-service): Make destructor
return #f on success. Destructor "should return #f if it is
now possible again to start the service at a later point"
(shepherd manual).

Change-Id: Ic0d21d32af158da1ae940d9c32c05a3471767764
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-04-08 17:06:58 +02:00
Nigko Yerden
3cbd28a475
services: qemu-binfmt: Add requirement.
* gnu/services/virtualization.scm (qemu-binfmt-shepherd-services)
[requirement]: Add file-system-/gnu/store.

qemu-binfmt service write references to the store to
/proc/sys/fs/binfmt_misc/qemu-[architecture] files, therefore
/gnu/store needs to be mounted during the lifetime of the service
instance. If /gnu/store does not remain mounted, the issues
discussed by nigko and Rutherther on IRC are arisen:

https://logs.guix.gnu.org/guix/2025-04-05.log
https://logs.guix.gnu.org/guix/2025-04-08.log

Change-Id: I7e7a42a5ba0e39aa58c997739898f3457dd793a9
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-04-08 17:03:28 +02:00
Maxim Cournoyer
e839cd1108
services: Add a default configuration value for the ngircd service.
* gnu/services/messaging.scm (ngircd-configuration): Adjust comment.
(ngircd-wrapper): Nest bindings within the (maybe-value-set? ssl) check, to
avoid errors when not providing an explicit value to the ssl field.
(ngircd-service-type) [default-value]: New field.

Change-Id: I1d2d7973cc9314e9bbc5870bf7b5f872d074b49b
2025-04-08 15:26:17 +09:00
Maxim Cournoyer
c9524b5841
services: Add ngircd-service-type.
* gnu/services/messaging.scm (pascal-case, ngircd-serialize-string)
(ngircd-serialize-boolean, ngircd-serialize-file-like)
(ngircd-serialize-list-of-strings, ngircd-serialize-list-of-ports)
(ngircd-serialize-number, ngircd-serialize-port)
(string-or-number?, ngircd-serialize-string-or-number): New procedures.
(ngircd-global, ngircd-limits, ngircd-options, ngircd-ssl)
(ngircd-operator, ngircd-server, ngircd-channel)
(ngircd-configuration): New configurations.
(serialize-ngircd-global, serialize-ngircd-limits)
(serialize-ngircd-options, serialize-ngircd-operator)
(serialize-list-of-ngircd-operators, serialize-ngircd-server)
(serialize-ngircd-channel, serialize-list-of-ngircd-channels)
(serialize-ngircd-configuration): New procedures.
(list-of-ngircd-operators?, list-of-ngircd-servers?)
(list-of-ngircd-channels?): New predicates.
(ngircd-generate-documentation): New procedure.
(ngircd-user+group, ngircd-account, ngircd-wrapper): Likewise.
(ngircd-shepherd-service): New shepherd service.
(ngircd-service-type): New service type.
* gnu/tests/messaging.scm (%ngircd-os): New variable.
(run-ngircd-test): New procedure.
(%test-ngircd): New test.
* doc/guix.texi (Messaging Services): Document it.

Change-Id: I3ce9a7fd0b33afab22cf15942a1db0cf5b12bfdb
2025-04-08 10:50:17 +09:00
Ludovic Courtès
c4dd590eab
services: guix: Socket-activate ‘guix-daemon’.
* gnu/services/base.scm (guix-shepherd-service): Change ‘start’ to use
‘make-systemd-constructor’ in the default case.  Remove now-redundant
code creating /var/guix/daemon-socket/.  Adjust ‘stop’ method to use
‘make-systemd-destructor’ when appropriate.

Change-Id: I3572670c90f65509fbad01dcf13a60f772a86839
2025-04-06 11:24:10 +02:00
Ludovic Courtès
96ae99c957
services: guix: Streamline the default ‘start’ case.
* gnu/services/base.scm (guix-shepherd-service): In ‘start’ method, use
‘fork+exec-command’ in the default case.

Change-Id: Id04d3d2651f89fbcdb2f17f027df91e132ff9ed1
2025-04-06 11:24:06 +02:00
Ludovic Courtès
b16e3f451f
services: guix: Factorize ‘guix-daemon’ arguments.
* gnu/services/base.scm (guix-shepherd-service): In ‘start’ method,
move ‘fork+exec-command/container’ arguments to the new variables
‘daemon-command’ and ‘environment-variables’.

Change-Id: Ic04a1006849697e4e185ad94185bbdec8a91a05a
2025-04-06 11:24:01 +02:00
Tomas Volf
85e6371a3f
services: gitolite-service-type: Allow setting the admin name.
* gnu/services/version-control.scm (<gitolite-configuration>): Add admin-name
field.
(gitolite-activation): Use it.
* doc/guix.texi (Version Control Services): Document it.  Remove the wrong
default value of admin-pubkey.  State the need for .pub extension.

Change-Id: Idadf4b2697cee6d1da10e6ba03bdc2e1d729c417
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:24 +09:00
Tomas Volf
24396e8327
services: gitolite-git-configuration: Add extra-content field.
* gnu/services/version-control.scm (<gitolite-git-configuration>): Add
extra-content field.
(gitolite-git-configuration-compiler): Handle it during configuration file
generation.
* doc/guix.texi (Version Control Services): Document it.

Change-Id: Iceb02f60b8ef26138961aefef4e56ca83df0e19f
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:22 +09:00
Tomas Volf
d4f3719a92
services: gitolite-git-configuration: Add receive-fsck-objects field.
* gnu/services/version-control.scm (<gitolite-git-configuration>): Add
receive-fsck-objects field.
(gitolite-git-configuration-compiler): Handle it during configuration file
generation.
* doc/guix.texi (Version Control Services): Document it.

Change-Id: Iceb02f60b8ef26138961aefef4e56ca83df0e19f
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:20 +09:00
Tomas Volf
1f1a0e8773
services: gitolite-git-configuration: Add default-branch field.
* gnu/services/version-control.scm (<gitolite-git-configuration>): Add
default-branch field.
(gitolite-git-configuration-compiler): Handle it during configuration file
generation.
* doc/guix.texi (Version Control Services): Document it.

Change-Id: Iceb02f60b8ef26138961aefef4e56ca83df0e19f
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:17 +09:00
Tomas Volf
a0ce5501ca
services: Add gitolite-git-configuration.
In preparation for further customizability of the git configuration, extract
the current setup into a separate record type.

* gnu/services/version-control.scm (<gitolite-git-configuration>): New record
type.
(gitolite-git-configuration-compiler): And gexp compiler for it.
(<gitolite-configuration>): Add git-config field.
(gitolite-activation): Use it.
* doc/guix.texi (Version Control Services): Document both.

Change-Id: I7658698a93f938f62f41a4fa45b72de1eeb14414
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:15 +09:00
Tomas Volf
9ab0c42d55
services: gitolite-activation: Convert to match-record.
* gnu/services/version-control.scm (gitolite-activation): Use match-record
instead of match-lambda with $.

Change-Id: I37e3018513a8f20eeed8614dff46a63b8d7c2883
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:13 +09:00
Tomas Volf
f975b416a7
services: gitolite-accounts: Convert to match-record.
* gnu/services/version-control.scm (gitolite-accounts): Use match-record
instead of match-lambda with $.

Change-Id: I37e3018513a8f20eeed8614dff46a63b8d7c2883
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:11 +09:00
Tomas Volf
ce95350bb2
services: gitolite-service-type: Do not install gitolite package.
It is not ideal to pollute the path with the binaries from the gitolite
package, so adjust the package to support that and the service to no longer
install it.

* gnu/packages/version-control.scm (make-gitolite)[arguments]<#:phases>
{'patch-scripts}: Use store file name of gitolite-shell.
* gnu/services/version-control.scm (gitolite-service-type): Drop the extension
of profile-service-type.

Change-Id: I25459ccd80bda892b6d188b2b6fa99baee339cba
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:09 +09:00
Tomas Volf
28031f04d9
services: gitolite-rc-file: Export default value for enable.
* gnu/services/version-control.scm (gitolite-rc-file-default-enable): New
exported variable.
(gitolite-rc-file-compiler)[enable]: Use it.

Change-Id: Ie6326ff69f3d454d96db6629dd5387757567d68f
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:07 +09:00
Tomas Volf
70a91c25b8
services: gitolite-rc-file-compiler: Set mode of the generated file.
Copied over from the official configuration file, this sets a correct major
mode when you visit the generated file.

* gnu/services/version-control.scm (gitolite-rc-file-compiler): Add local
variables.

Change-Id: I8a9d794a1e3c7049ae606165cf939d81b5dbdf6e
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:05 +09:00
Tomas Volf
0110eeee0a
services: gitolite-rc-file: Add extra-content field.
* gnu/services/version-control.scm (<gitolite-rc-file>): Add extra-content
field.
(gitolite-rc-file-compiler): Handle it during configuration file generation.
* doc/guix.texi (Version Control Services): Document it.

Change-Id: I5082e1d7a27cc746641ba9ec8ae07c703da5f279
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:03 +09:00
Tomas Volf
5466a46a72
services: gitolite-rc-file: Add host-name field.
* gnu/services/version-control.scm (<gitolite-rc-file>): Add host-name field.
(gitolite-rc-file-compiler): Handle it during configuration file generation.
* doc/guix.texi (Version Control Services): Document it.

Change-Id: I1231ed47a294ff48b35a301f76ae8e9cbfcd9b95
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:01 +09:00
Tomas Volf
9306539f08
services: gitolite-rc-file: Add log-extra field.
* gnu/services/version-control.scm (<gitolite-rc-file>): Add log-extra field.
(gitolite-rc-file-compiler): Handle it during configuration file generation.
* doc/guix.texi (Version Control Services): Document it.

Change-Id: Ice65dbdf4f42549e3c83914da7229db9d2cf856b
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:16:00 +09:00
Tomas Volf
a52a7d1653
services: gitolite-rc-file-compiler: Switch to match-record.
* gnu/services/version-control.scm (gitolite-rc-file-compiler): Use
match-record instead of match with $.

Change-Id: Ia2f4985e921aee5f8859d1858f7c186b707d7a36
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-04-03 21:15:58 +09:00
Sergio Pastor Pérez
354ffea720
services: file-database: Search ‘updatedb’ in package.
`file-database-service-type' appends 'bin/updatedb' path to the `package'
field provided by `file-database-configuration'. This prevents users from
using alternate packages which also provide 'updatedb' but in a different
location.

For example, the `plocate' package installs 'updatedb' in 'sbin/updatedb'.

Fallback to 'sbin/' if 'updatedb' is not found in 'bin/'.

* gnu/services/admin.scm (<file-database-configuration>)[package]:
Update docstring.
(file-database-shepherd-services): Locate 'updatedb' binary.
* doc/guix.texi (File Search Services): Update accordingly.

Change-Id: Ic741716044be3a8f51a157510f9f923bd66c41d7
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
2025-04-01 14:49:34 +02:00
Zheng Junjie
136115fa0f
Partial revert "services: plasma-polkit-settings: Add missing packages."
This partially reverts commit 0cdb587628.

Fixes <https://issues.guix.gnu.org/77344>.

* gnu/services/desktop.scm (plasma-polkit-settings): Remove "kglobalaccel".

Change-Id: If0f414c59f40e0b41f138673137e7221578de3f2
2025-03-29 11:35:26 +08:00
Maxim Cournoyer
2eb22e3d0f
services: libvirt: Add UEFI firmware support.
This makes libvirt able to boot images that require a UEFI bootloader, with
the available firmwares exposed to libvirt made configurable via a new
configuration field.  For more background on the problem this fixes, see the
same issue that was reported in NixOS (see:
https://github.com/NixOS/nixpkgs/issues/115996).

* gnu/services/virtualization.scm: (list-of-file-likes?): New predicate.
(libvirt-configuration): [firmwares]: New field.
(/etc/qemu/firmware): New procedure.
(libvirt-service-type): Extend the etc-service-type with it.
(generate-libvirt-documentation): Delete obsolete procedure.
* doc/guix.texi: Re-generate doc.
* gnu/tests/virtualization.scm (run-libvirt-test): Augment memory from 256 to
512 MiB.  Test it.

Series-to: 77110@debbugs.gnu.org
Change-Id: I40694964405f13681520bf1e28b7365b0200d8f7
2025-03-27 21:21:06 +09:00
Jonathan Brielmaier
8afea02d4d
services: Use beaconDB as location provider in geoclue.
The previous used Mozilla Location Service (MLS) was retired in 2024:
https://github.com/mozilla/ichnaea/issues/2065

* gnu/services/desktop.scm (<geoclue-configuration>)
[wifi-geolocation-url]: Switch default provider to beaconDB.
[wifi-submission-url]: Likewise.

Change-Id: I95e4600a2d5454bdde4be44b09273694536bd44e
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-03-27 21:11:26 +09:00
Sughosha
0cdb587628
services: plasma-polkit-settings: Add missing packages.
* gnu/services/desktop.scm (plasma-polkit-settings): Add kdeplasma-addons,
kglobalaccel, kpmcore and kwalletmanager.

Change-Id: I4e5544a7211fdf898b02ea51750e6d66a3b79ca9
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-03-26 21:47:28 +01:00
Sughosha
f0f33b837a
services: plasma-dbus-service: Add missing packages.
* gnu/services/desktop.scm (plasma-dbus-service): Add kdeplasma-addons,
kpmcore and kwalletmanager.

Change-Id: Icef5290368f681b95be3cf14d0238f1bbf47c0f6
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-03-26 21:47:28 +01:00
Ludovic Courtès
92205bab4d
services: unattended-upgrade: Exit with non-zero upon failure.
Until now, the service would always exit with 0, which makes failures
harder to distinguish in the output of ‘herd status’, for instance.

* gnu/services/admin.scm (unattended-upgrade-shepherd-services)[code]:
Call ‘exit’ after ‘report-invoke-error’.

Change-Id: Idfc74a48a6a798e813db96d5770a897595b27240
2025-03-26 17:55:50 +01:00
Sughosha
cfe68843a8
services: readymedia: Change cache and log directory permissions to 755.
Create cache directory and log directory with 755 permission, which passes
run-readymedia-test.

* gnu/services/upnp.scm (readymedia-activation): Change directory permissions
of cache-directory and log-directory to 755.

Change-Id: Iff30040c3fd52564510f66d3568dab0ef89e0449
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-03-25 11:37:02 +01:00
Ludovic Courtès
a35fa2d2cb
services: shepherd: Add ‘shepherd-timer’.
* gnu/services/shepherd.scm (shepherd-timer): New procedure.
* gnu/home/services/shepherd.scm: Re-export it.

Suggested-by: Luis Guilherme Coelho <lgcoelho@disroot.org>
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I5f702d4119eee47381a7a1ac650b8ad3fc5e6cdd
2025-03-23 19:30:57 +01:00
Ludovic Courtès
230f1a9c1c
services: virtual-build-machine: Turn GC job into a Shepherd timer.
* gnu/services/virtualization.scm (gc-service-type): New variable.
(%virtual-build-machine-operating-system): Use instead of extending
‘mcron-service-type’.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I56d7f9293f582269e5a34d91bf4f3edddfa844e0
2025-03-23 19:30:52 +01:00
Ludovic Courtès
7cec434865
services: ganeti: Produce Shepherd timers instead of mcron jobs.
* gnu/services/ganeti.scm (<ganeti-watcher-configuration>)[schedule]:
Change default value to a cron string.
(ganeti-timer): New procedure.
(ganeti-watcher-jobs): Rename to…
(ganeti-watcher-service): … this.  Return Shepherd services.
(ganeti-watcher-service-type)[extensions]: Adjust accordingly.
(ganeti-cleaner-jobs): Rename to…
(ganeti-cleaner-service): … this.  Return Shepherd services.
(ganeti-cleaner-service-type)[extensions]: Adjust accordingly.
(ganeti-shepherd-services): Include the watcher and cleaner services.
(ganeti-mcron-jobs): Remove.
(ganeti-service-type)[extensions]: Adjust accordingly.
* doc/guix.texi (Virtualization Services): Update ‘schedule’
documentation.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: Id209a3c50271203dc7190c4c6d0c0ffdf6c10875
2025-03-23 19:30:44 +01:00
Ludovic Courtès
27806fde37
services: ganeti: Update to Shepherd 1.0 interface.
* gnu/services/ganeti.scm (shepherd-wconfd-force-start-action)[procedure]:
Use ‘enable-service’ and ‘perform-service-action’ instead of ‘action’,
which was deprecated in 0.10.x and replaced in 1.0.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I2ba7d973b95f17f6ce093185fec7b246cf427be9
2025-03-23 19:30:39 +01:00
Ludovic Courtès
59bd1337d0
services: wireguard: Turn monitoring into a Shepherd timer.
* gnu/services/vpn.scm (<wireguard-configuration>)[schedule]: Change
default value.
(wireguard-monitoring-program): New procedure, with code taken from…
(wireguard-monitoring-jobs): … here.  Remove.
(wireguard-shepherd-services): New procedure, with code taken from…
(wireguard-shepherd-service): … here.  Remove.
* doc/guix.texi (VPN Services): Update.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I6851ddf1eb9480bdc9e6c6c6b88958ab2e6225d7
2025-03-23 19:30:05 +01:00
Ludovic Courtès
8d77e252d2
services: certbot: Turn into a Shepherd timer.
* gnu/services/certbot.scm (certbot-renewal-jobs): Rename to…
(certbot-renewal-shepherd-services): … this.  Return a list of Shepherd
services, including ‘renew-certbot-certificates’, formally defined…
(certbot-renewal-one-shot): … here.  Remove.
(certbot-service-type): Adjust accordingly.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I25ad9fc1277f4f6f948ab5fce7c6626f22591d10
2025-03-23 19:29:57 +01:00
Ludovic Courtès
465ce8c6a6
services: fstrim: Turn into a Shepherd timer.
* gnu/services/linux.scm (mcron-time?): Remove.
(shepherd-calendar-event?): New procedure.
(fstrim-configuration)[schedule]: Change type to
‘shepherd-calendar-event’ and update docstring.
(fstrim-mcron-job): Rename to…
(fstrim-shepherd-services): … this.  Return a list of Shepherd services.
(fstrim-service-type): Adjust accordingly.
* doc/guix.texi (Linux Services): Update.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I9a7433cb15a1f4600470a915769d612e6e644dd8
2025-03-23 19:29:49 +01:00
Ludovic Courtès
71ae6f2a19
services: package-database: Turn into a Shepherd timer.
* gnu/services/admin.scm (package-database-mcron-jobs): Rename to…
(package-database-shepherd-services): … this.  Return a shepherd
service.
(package-database-service-type): Update accordingly.
* doc/guix.texi (File Search Services): Update documentation of the
‘schedule’ field.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: Id7b4c5cff95a7117dca7d95af37db7389bb5ca92
2025-03-23 19:29:41 +01:00
Ludovic Courtès
f4c832b277
services: file-database: Exclude /dev by default.
* gnu/services/admin.scm (%default-file-database-excluded-directories):
Add “/dev’.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I06af6621cd363e140a6fc49e1cee97d15b365b89
2025-03-23 19:29:33 +01:00
Ludovic Courtès
667248948a
services: file-database: Turn into a Shepherd timer.
* gnu/services/admin.scm (file-database-mcron-jobs): Rename to…
(file-database-shepherd-services): … this.  Return a list of Shepherd
services.
(file-database-service-type): Adjust accordingly.
* doc/guix.texi (File Search Services): Update documentation of
‘schedule’.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I5734c629b113e54057694d2ec480abd26b7815db
2025-03-23 19:29:25 +01:00
Ludovic Courtès
aed019b646
services: shepherd: Factorize ‘trigger’ action.
* gnu/services/shepherd.scm (shepherd-trigger-action): New variable.
* gnu/services/admin.scm (log-cleanup-shepherd-services)
(unattended-upgrade-shepherd-services): Use it.
* gnu/services/backup.scm (restic-backup-job->shepherd-service): Use it.
* gnu/home/services/shepherd.scm: Re-export ‘shepherd-trigger-action’.

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I834b5b9b61c78f012ee9306df6cf4fd8a93dd6d2
2025-03-23 19:29:14 +01:00
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