summaryrefslogtreecommitdiff
path: root/gnu/services
Commit message (Expand)AuthorAgeFilesLines
* services: cuirass: Run in a UTF-8 locale.•••Fixes <https://issues.guix.gnu.org/73751>. * gnu/services/cuirass.scm (cuirass-shepherd-service): Add ‘LC_ALL’. Reported-by: Noé Lopez <noelopez@free.fr> Change-Id: I9121a213405d287e2f15338c8608153e11c2508d Ludovic Courtès2024-12-121-1/+2
* services: hurd-vm: Set overload-threshold to 1.8.•••The uptime/ /proc/loadavg reporting in the Hurd is 1.0 for a machine without load. This may have been caused by recent SMP work. * gnu/services/virtualization.scm (hurd-vm-guix-extension): Set overload-threshold to 1.8 to allow offloading to actually happen. Change-Id: I2b5be4d8e8d884cba767702f9cdccf91717eb95d Janneke Nieuwenhuizen2024-12-101-0/+1
* services: admin: Improve use of unattended-upgrade reboot? field.•••This ensures the unattended upgrade job successfully reboots regardless of the value for services-to-restart. Previously the mcron service may be restarted which would halt script execution before the system rebooted. * gnu/services/admin.scm (unattended-upgrade-mcron-jobs): Do not restart services when reboot? is #t. * doc/guix.texi (Unattended Upgrades): Document it. Change-Id: I8e486a764ec1dc5c3090130cc447a0cc3f5a2e00 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Richard Sent2024-12-091-4/+6
* services: shepherd: Remove ‘call-with-{input,output}-file’ replacements.•••Shepherd 1.0.0 provides similar replacements. * gnu/services/shepherd.scm (shepherd-configuration-file): Remove ‘call-with-input-file’ and ‘call-with-output-file’ O_CLOEXEC replacements. Change-Id: Id8a4d5cfcb9b9213f3a017cafead21cc86fdb51e Ludovic Courtès2024-12-091-14/+0
* services: shepherd: Default to 1.0.•••* gnu/services/shepherd.scm (<shepherd-configuration>)[shepherd]: Default to SHEPHERD-1.0. * gnu/system/hurd.scm (%base-packages/hurd): Change to SHEPHERD-1.0. Change-Id: I7b0c3041d61a6f5d89c9d6d3caf7a8eedf5d8ca5 Ludovic Courtès2024-12-091-1/+1
* services: wireguard: Support lists of gexps for most fields.•••In order to support more flexibility in Wireguard configuration, ungexp the configuration fields directly instead of ungexp-splicing a sexp calculator. This allows for the fields to take arbitrary gexps instead of only strings which is particularly helpful for the Pre/Post Up/Down commands. * gnu/services/vpn.scm (wireguard-configuration-file): Ungexp configuration lists instead of ungexp-splicing the code surrounding them. * doc/guix.texi (VPN Services)[wireguard]: Document it. Change-Id: If074cbb78473b6fd34e0e4e990d2ed268001d6c7 Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Richard Sent2024-12-061-20/+21
* services: wireguard: Add the bootstrap-private-key? field.•••The syntax from using the private-key field is more convenient than writing a custom PreUp command (more formatting and preshared keys). Instead of trying to guess if private-key is/is not a file path, add an option to disable bootstrapping while still using private-key. * gnu/services/vpn.scm (<wireguard-configuration>): Add bootstrap-private-key?. (wireguard-activation): Check bootstrap-private-key? before bootstrapping. * doc/guix.texi (VPN Services)[wireguard]: Document it. Change-Id: I6ba71ad58b26743057a221a54a246369022f83a5 Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Richard Sent2024-12-061-30/+34
* services: wireguard: Make the private-key field optional.•••Users who retrieve the private-key via a PreUp field need to be able to disable the default retrieval mechanism. * gnu/services/vpn.scm (<wireguard-configuration>)[private-key]: Change comment. (wireguard-configuration-file): Conditionally serialize private-key. * gnu/services/vpn.scm (wireguard-activation): Do not create private-key if the field is #f. * doc/guix.texi (VPN Services)[wireguard-configuration]: Document it. Change-Id: Iac419809ae94eb76e97ff1f1749e2f4b3e65bb04 Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Richard Sent2024-12-061-16/+20
* gnu: Add powertop-service-type.•••* gnu/services/pm.scm (powertop-shepherd-service) (powertop-service-type, powertop-configuration): New variables. * doc/guix.texi (Power Management Services): Document powertop-service-type. Change-Id: I1c5ef855526458ad54f62ca6e755da82acce1c4a Signed-off-by: Ludovic Courtès <ludo@gnu.org> Ian Eure2024-11-231-1/+41
* gnu: services: power-profiles-daemon: Beautify service.•••* gnu/services/pm.scm (power-profiles-daemon-shepherd-service): Change indentation. [requirement]: Add user-processes. [documentation]: Change name to Power Profiles Daemon. (power-profiles-daemon-service-type) [description]: Change name to Power Profiles Daemon. Change-Id: Ibbd06cf1fbadd812ad3f0eac92b9772e3387f875 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Dariqq2024-11-201-9/+10
* services: nginx-upstream-configuration: Allow file-like objects•••* gnu/services/web.scm (emit-nginx-upstream-config): Support file-like objects. * doc/guix.texi (Web Services)[nginx-upstream-configuration]: Document it. Change-Id: I49996e358174dc77b31e3c91b908a6a72f3eb705 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Tomas Volf2024-11-201-2/+4
* services: nginx: Print extra-content before the server-blocks.•••The configuration file is processed sequentially, which meant that there was no way to set for example log format shared between the server-blocks, because the final configuration file would have this order: ... http { ... server { } ... $extra-content } Moving the extra-content before the serialization of server-blocks resolves this. * gnu/services/web.scm (default-nginx-config): Move extra-content before server-blocks. Change-Id: Ie8286a533dfed575abc58a0f4800706b3ad6adc2 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Tomas Volf2024-11-201-5/+5
* gnu: postgresql-configuration: Unset default postgresql.•••* gnu/services/databases.scm (postgresql-configuration)[postgresql]: Unset default. (postgresql-service-type): Remove default-value. (postgresql-service): Revert default to postgresql-10 (rationale: We can remove this service at the same time than postgresql-10, in something like 6 months to a year). * doc/guix.texi: Remove postgresql default reference in documentation. Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de> Nicolas Graves via Guix-patches via2024-11-161-4/+6
* system: hurd: Add swap-services to hurd-default-essential-services.•••* gnu/services/base.scm (swap-service-type): Do not include 'udev' requirement for the Hurd. Use system* with "swapon", "swapoff" for the Hurd. * gnu/system.scm (hurd-default-essential-services): Add swap-services. * gnu/services/base.scm (swap-service-type): Change-Id: I1d4d445c614921752dc84aa0dd6ff42cdbf62aa8 Janneke Nieuwenhuizen2024-11-111-7/+13
* system: hurd: Remove qemu networking from %base-services/hurd.•••This allows us to use %base-services/hurd for services in a Hurd config for a real machine without removing static-networking. * gnu/system/hurd.scm (%base-services/hurd): Factor networking out to... (%base-services+qemu-networking/hurd): ..this new variable. * gnu/system/examples/bare-hurd.tmpl (%hurd-os): Use it. * gnu/services/virtualization.scm (%hurd-vm-operating-system): Use it. * gnu/system/images/hurd.scm (hurd-barebones-os): Use it. Add comment about QEMU and networking for a real machine. Change-Id: I777a63410383b9bf8b5740e4513dbc1e9fb0fd41 Janneke Nieuwenhuizen2024-11-111-2/+2
* services: guix: Add access control to daemon socket.•••* gnu/services/base.scm (guix-configuration-socket-directory-{permissions,group,user}): New fields. (guix-shepherd-service): Use them. * doc/guix.texi (Base Services): Document them. Change-Id: I8f4c2e20392ced47c09812e62903c87cc0f4a97a Signed-off-by: Ludovic Courtès <ludo@gnu.org> Reepca Russelstein2024-11-031-4/+34
* services: cuirass: Run ‘remote-worker’ under its own user/group.•••The ‘--user’ option was added to ‘cuirass remote-worker’ in Cuirass commit 3a6abc17f904f38098d3ab08e9d82de2e821d348 (Nov. 2023). * gnu/services/cuirass.scm (%cuirass-remote-worker-accounts): New variable. (cuirass-remote-worker-shepherd-service): Pass ‘--user’. (cuirass-remote-worker-service-type): Add ACCOUNT-SERVICE-TYPE extension. Change-Id: I075ea02b6972adcad0a75e330073e85c4dacbbc5 Ludovic Courtès2024-11-031-0/+16
* services: anonip: Add 'debug?' configuration field.•••* gnu/services/web.scm (<anonip-configuration>) [debug?]: New field. (anonip-shepherd-service): Honor it. * doc/guix.texi (Log Rotation) <anonip-configuration>: Document it. Change-Id: Iaf57b5992808374b069a55c34a9adfdfe52b046c Maxim Cournoyer2024-11-011-0/+3
* services: web: Fix race between nginx activation and anonip.•••* gnu/services/web.scm (anonip-shepherd-service): Recreate the input file when it's not a FIFO. Fixes: <https://issues.guix.gnu.org/59181> Change-Id: I8ba87f9fc48ecfd515e34bdee9e2949a2a559f9c Maxim Cournoyer2024-11-011-34/+29
* gnu: postgresql: Deprecate unsupported versions.•••Versions 10 and 11 are unsupported according to https://www.postgresql.org/support/versioning/ postgresql-10 also has a CVE. * doc/guix.texi: Change default value of postgresql-service-type's postgresql field. * gnu/packages/databases.scm (postresql-10, postgresql-11): Use define-deprecated/public to warn users. * gnu/services/databases.scm (postgresql-configuration): Change the default value of postgresql-configuration-postgresql. * gnu/tests/guix.scm (%guix-data-service-os): Change the default value of postgresql. Signed-off-by: Andreas Enge <andreas@enge.fr> Change-Id: Ie8744c8e1f246e9b45ff5e29d4e98214de3ca66a Nicolas Graves2024-10-281-1/+1
* services: lightdm: Fix activation script and default vnc server command.•••* gnu/services/lightdm.scm (lightdm-configuration) [vnc-server-command]: Add missing '/' in binary file name.. (%lightdm-activation): Apply 'directory' *variable*, not string, to 'find-files'. Reported-by: Dariqq <dariqq@posteo.net> Change-Id: Iec67051d18026c87800552f9dd3198f065f2dc7d Maxim Cournoyer2024-10-231-3/+2
* services: readymedia: Add trailing newline after media_dir lines.•••* gnu/services/upnp.scm (readymedia-configuration->config-file): Add trailing newline after media_dir lines. Change-Id: Ib2e584f22526f1969098b843c4be6ee386ed809c Signed-off-by: Arun Isaac <arunisaac@systemreboot.net> Fabio Natali2024-10-201-1/+1
* services: ntp: Default to an address that supports IPv6.•••* gnu/services/networking.scm (%ntp-servers): Replace 0.guix.pool.ntp.org with 2.guix.pool.ntp.org. Fixes: <https://issues.guix.gnu.org/71462> Change-Id: I8bf3dc1cec58e7977c5369739b8662f817eeb186 Maxim Cournoyer2024-10-191-2/+4
* gnu: services: Add readymedia service.•••* gnu/services/upnp.scm, gnu/tests/upnp.scm: New files. * gnu/local.mk (GNU_SYSTEM_MODULES): Add them. * doc/guix.texi (Miscellaneous Services): Document the service. Change-Id: I6a3c9db9e7504df308038343ed48e4409a323581 Signed-off-by: Arun Isaac <arunisaac@systemreboot.net> Fabio Natali2024-10-181-0/+207
* Add copyright lines.•••They are related to commit eb1515849efa3e0d3d838cb04ea87100084068a0. * doc/guix.texi: Add copyright message. * gnu/services/networking.scm: Add copyright message. Change-Id: Ica510fd6e80228f124f0c084403e1dea7c9baa1b Signed-off-by: Ludovic Courtès <ludo@gnu.org> Nigko Yerden2024-10-161-0/+1
* services: nscd: When cross-compiling, Use (cross-libc target).•••* gnu/services/base.scm (nscd-configuration)[glibc]: When cross-compiling, Use (cross-libc target). Change-Id: Ib219459b1ec28f7edfac075e70be3d61edf72d27 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Zheng Junjie2024-10-151-1/+4
* services: tor: Add support for pluggable transports.•••Pluggable transports are programs that disguise Tor traffic, which can be useful in case Tor is censored. Pluggable transports cannot be configured by #:config-file file exclusively because Tor process is run via 'least-authority-wrapper' and cannot have access to transport plugin, which is a separate executable (Bug#70302, Bug#70332). * doc/guix.texi (Networking Services): Document 'tor-transport-plugin' data type and 'transport-plugins' option for 'tor-configuration. * gnu/services/networking.scm: Export 'tor-configuration-transport-plugins', 'tor-transport-plugin', 'tor-transport-plugin?', 'tor-plugin-role', 'tor-plugin-protocol', and 'tor-plugin-program'. (<tor-configuration>): Add 'transport-plugins' field. (<tor-transport-plugin>): New variable. (tor-configuration->torrc): Add content to 'torrc' computed-file. (tor-shepherd-service): Add file-system-mapping(s). Change-Id: I1b0319358778c7aee650bc843e021a6803a1cf3a Signed-off-by: Ludovic Courtès <ludo@gnu.org> Nigko Yerden2024-10-141-13/+56
* services: configuration: Document multiple configurations per field.•••* gnu/services/configuration.scm (generate-documentation): Filter for all configurations associated with each field-name. * doc/guix.texi (Complex Configurations): Describe use case for multiple field-names. Change-Id: I6d1e7b8858231aa05fda884b31a9bd0a48f07293 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Herman Rimm2024-10-141-2/+7
* 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 Maxim Cournoyer2024-10-071-2/+6
* 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 Maxim Cournoyer2024-10-071-61/+70
* 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 Ludovic Courtès2024-09-191-1/+4
* 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> Andreas Enge2024-09-181-1/+7
* 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> Andreas Enge2024-09-181-4/+6
* 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> Richard Sent2024-09-161-1/+12
* 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 Tobias Geerinckx-Rice2024-09-081-5/+2
* 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 Tobias Geerinckx-Rice2024-09-081-4/+3
* 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 Tobias Geerinckx-Rice2024-09-081-6/+9
* 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 Tobias Geerinckx-Rice2024-09-082-4/+2
* 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> Rostislav Svoboda2024-09-141-1/+1
* 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 Tobias Geerinckx-Rice2024-09-011-7/+8
* 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 Tobias Geerinckx-Rice2024-09-011-6/+8
* 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 Ludovic Courtès2024-09-091-1/+2
* 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> Richard Sent2024-09-031-0/+2
* 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> Rodion Goritskov2024-08-311-19/+19
* 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> Sergio Pastor Pérez2024-08-281-3/+6
* services: Refactor opensmtpd-set-gids.•••* gnu/services/mail.scm (opensmtpd-set-gids): Rewrite using MAP technology. Change-Id: I30b7eddaf64d242196b1c56f98dec42a86436c18 Tobias Geerinckx-Rice2024-08-181-31/+14
* 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 Tobias Geerinckx-Rice2024-08-181-9/+9
* 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 Tobias Geerinckx-Rice2024-08-181-9/+11
* 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> Sergio Pastor Pérez2024-08-211-1/+9
* 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> Morgan Smith2024-08-211-3/+12