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
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
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
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
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
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
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
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
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
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
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
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>
services: cuirass: Really allow ‘parameters’ to be a file-like object. This is a followup to 72381149119e4541f16024fe5616aca022373525. * gnu/services/cuirass.scm (cuirass-shepherd-service): Turn ‘--parameters=’ bit into a gexp. Change-Id: I5dd886b90ecea45157873e9c701e34988d6d31cc
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
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
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>
services/libvirt: Export libvirt-configuration field accessors. * gnu/services/virtualization.scm: Export libvirt-configuration field accessors. Change-Id: I191235504ba0d2aaeffac9a10bd469ae0a561855
services: nginx: ‘stop’ method returns #f. * gnu/services/web.scm (nginx-shepherd-service)[nginx-action]: Return #f for ‘stop’. Change-Id: I85290b5297f71a1dbfcd17b864d672d38c986d9b
services/configuration: Fix case where sub-documentation is nonexistent. Commit 766ad072ad90d4ffc161cb83e29910b7bb3a9d54 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
services: libvirt: Fixup setting LINUX_MODULE_DIRECTORY variable. This is a follow-up to commit 614ba97d984 ("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