aboutsummaryrefslogtreecommitdiff
path: root/gnu/services
AgeCommit message (Expand)Author
2024-09-18services: 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> Andreas Enge
2024-09-18services: 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> Andreas Enge
2024-09-16services: 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> Richard Sent
2024-09-08services: 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 Tobias Geerinckx-Rice
2024-09-08services: 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 Tobias Geerinckx-Rice
2024-09-08services: 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 Tobias Geerinckx-Rice
2024-09-08privilege: 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 Tobias Geerinckx-Rice
2024-09-14gnu: 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> Rostislav Svoboda
2024-09-01services: 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 Tobias Geerinckx-Rice
2024-09-01services: 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 Tobias Geerinckx-Rice
2024-09-09services: 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 Ludovic Courtès
2024-09-03services: 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> Richard Sent
2024-08-31services: 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> Rodion Goritskov
2024-08-28services: 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> Sergio Pastor Pérez
2024-08-18services: Refactor opensmtpd-set-gids....* gnu/services/mail.scm (opensmtpd-set-gids): Rewrite using MAP technology. Change-Id: I30b7eddaf64d242196b1c56f98dec42a86436c18 Tobias Geerinckx-Rice
2024-08-18services: 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 Tobias Geerinckx-Rice
2024-08-18services: 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 Tobias Geerinckx-Rice
2024-08-21services: 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> Sergio Pastor Pérez
2024-08-21services: 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> Morgan Smith
2024-08-11gnu: 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. Tobias Geerinckx-Rice
2024-08-04services: 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 Oleg Pykhalov
2024-07-26services: agate: Update options for compatibility with the current Agate vers......* 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> Rodion Goritskov
2024-07-18service: plasma-desktop: Add kwallet dbus....* gnu/services/desktop.scm (plasma-dbus-service): Add kwallet. Change-Id: I09b8fc5e98602992fb4854dfaae2f60afa339620 Zheng Junjie
2024-07-18services: 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 Zheng Junjie
2024-07-18services: sddm: Adjust pass env....* gnu/services/sddm.scm (sddm-shepherd-service): Adjust pass env when sddm build with qt6. Change-Id: Iabaa22824db8048c7c86921010b970226f85b7a5 Zheng Junjie
2024-07-10services: 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> Tomas Volf
2024-07-10services: 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> Tomas Volf
2024-07-05services: oci-container: Allow setting Shepherd actions in oci-container-conf......* 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> Giacomo Leidi via Guix-patches via
2024-07-05services: oci-container: Allow setting Shepherd respawn? in oci-container-con......* 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> Giacomo Leidi via Guix-patches via
2024-07-05services: oci-container: Allow setting Shepherd auto-start? in oci-container-......* 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> Giacomo Leidi via Guix-patches via
2024-07-05services: oci-container: Allow setting Shepherd log-file in oci-container-con......* 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 Giacomo Leidi via Guix-patches via
2024-06-26services: 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> Tomas Volf
2024-06-26services: Never throw when stopping mount-may-fail file systems....This is a followup to 7c27bd115b14afd142da7684cc349369965f9eab. * 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 Ludovic Courtès
2024-06-26services: 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 Ludovic Courtès
2024-06-26services: 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> Richard Sent
2024-06-24services: 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> Richard Sent
2024-06-24services: 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 Yarl Baudig
2024-06-23services: 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> Juliana Sims
2024-06-13services: 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 Sergey Trofimov
2024-06-06services: 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 Christopher Baines
2024-06-06services: 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 Zheng Junjie
2024-06-04services: 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> Richard Sent
2024-06-03services: 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 Ludovic Courtès
2024-06-02services: darkstat: Depend on ‘user-processes’....* gnu/services/monitoring.scm (darkstat-shepherd-service): Add ‘user-processes’ to ‘requirement’. Change-Id: I6abaefd88c6075a0379e5867838653765dfaa08e Ludovic Courtès
2024-06-02services: 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 Ludovic Courtès
2024-06-02services: dbus: Log to stderr rather than syslog....* gnu/services/dbus.scm (dbus-shepherd-service): Remove ‘--syslog-only’ option and pass #:log-file unconditionally. Change-Id: I9e42f241e08b95ff01e9ad69551bc2c7ce869d6d Ludovic Courtès
2024-06-02services: tor: Log to stderr rather than syslog....* gnu/services/networking.scm (tor-configuration->torrc): Change ‘Log’ directive to ‘stderr’. (tor-shepherd-service): Remove /dev/log file system mapping. Change-Id: I2e33ad8033f884ce59d929a4181172325331efe0 Ludovic Courtès
2024-06-02services: nscd: ‘log-file’ defaults to #f....* gnu/services/base.scm (<nscd-configuration>)[log-file]: Default to #f. * doc/guix.texi (Base Services): Clarify documentation. Change-Id: Ia75914fc2665db13bef688d53659083a615ebef4 Ludovic Courtès
2024-06-02services: nix: Fix activation....This commit follows 797be0ea5c3703ad96acd32c98dca5f946cf5c95. Reported by kiasoc5 <kiasoc5@disroot.org> at <https://lists.gnu.org/archive/html/help-guix/2024-05/msg00185.html>. * gnu/services/nix.scm (nix-activation): Avoid provisioning the store if it already exists. Change-Id: I159e8af5d7bd6ce62857b356d6e9ac68fe16acf4 Oleg Pykhalov
2024-06-02Revert "services: home: Use pairs instead of lists."...This reverts commit dbeef44f3c520816251bde74c1005915a637e1ef. Despite the more semantically correct data type, it doesn't follow the style of the most services and also breaks user-facing API. Change-Id: Ib4ef4e9cd2f53ac853a5b7c7c90e57c35c99a5ea Andrew Tropin