aboutsummaryrefslogtreecommitdiff
path: root/gnu/services
AgeCommit message (Expand)Author
2024-12-18services: Add rootless-podman-service-type....* gnu/services/containers.scm: New file; (rootless-podman-configuration): new variable; (rootless-podman-service-subids): new variable; (rootless-podman-service-accounts): new variable; (rootless-podman-service-profile): new variable; (rootless-podman-shepherd-services): new variable; (rootless-podman-service-etc): new variable; (rootless-podman-service-type): new variable. * gnu/local.mk: Test it. * gnu/local.mk: Add them. * doc/guix.texi (Miscellaneous Services): Document it. Change-Id: I041496474c1027da353bd6852f2554a065914d7a Signed-off-by: Ludovic Courtès <ludo@gnu.org> Giacomo Leidi
2024-12-18services: iptables: Provide a default value....There doesn't seem to be a reason to force users to write (service iptables-service-type (iptables-configuration)) instead of simply (service iptables-service-type) This patch provides a default value for the iptables-service-type. * gnu/services/networking.scm (iptables-service-type): Set default-value. Change-Id: I93b6c544dfb064c7a0a999549dff61007a38f842 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Giacomo Leidi
2024-12-18services: pam: Allow extension of pam limits....* gnu/services/pam.scm (pam-limits-service-type): Allow extension of pam limits rules from users and services. Change-Id: I93a363d1a2887493d52ef3ae32fc9721f81ddfa8 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Giacomo Leidi
2024-12-17gnu: set-xorg-configuration: Update code comment....* gnu/services/xorg.scm (set-xorg-configuration): Update the comment about platforms with rust support. Change-Id: I6237ee9d26b5a74fb0d0b6680d3ff827d2a67418 Efraim Flashner
2024-12-17gnu: desktop-services-for-system: Update code comment....* gnu/services/desktop.scm (desktop-services-for-system): Update the comment about platforms with rust support. Change-Id: Ibefa826494e29498870f392c0fec87d606d386ec Efraim Flashner
2024-12-16services: guix-data-service: Support specifying configuration....The database contains some tables that are effectively used for configuration. This commit starts to expose these to the guix service, enabling the configuration to be handled by the service. * gnu/services/guix.scm (<guix-data-service-configuration>): Add git-repositories and build-servers. (guix-data-service-configuration-git-repositories, guix-data-service-configuration-build-servers): New procedures. (guix-data-service-shepherd-services): Add new shepherd service to setup the database. Change-Id: I519efd9157b60f18c7e80e3bdc92c0e3c5729334 Christopher Baines
2024-12-16gnu: lightdm-service-type: Add lightdm.conf to /etc/lightdm....* gnu/services/lightdm.scm (lightdm-configuration->greeters-config-dir): Rename to... (lightdm-configuration-directory): ... this, and add the lightdm-configuration-file. (lightdm-shepherd-service): Don't pass the configuration file, don't set XDG_CONFIG_DIRS (lightdm-etc-service): New procedure. (lightdm-service-type): Use lightdm-etc-service as the etc-extension. Change-Id: I982ec1f7bdfd085621f45a8a1e4b175ab481202f Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Dariqq
2024-12-16services: Add resize-file-system-service....* gnu/services/admin.scm (resize-file-system-configuration): New configuration type. (resize-file-system-shepherd-service): New procedure. (resize-file-system-service-type): New variable. * doc/guix.texi (Miscallaneous Services): Document it. Change-Id: Icae2fefc9a8d936d4c3add47520258b341f689a4 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Richard Sent
2024-12-15services: mingetty: Support waiting on shepherd services....For auto-login on systems with elogind, dbus-system needs to be started. This commit adds ability to express that ordering. * gnu/services/base.scm (<mingetty-configuration>): Add shepherd-requirement field. (mingetty-shepherd-service): Use it. * doc/guix.texi (Base Services)<mingetty-configuration>: Document it. Change-Id: Iedbdc4375180740379d561aa193d7c63350d2e7b Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Tomas Volf
2024-12-15services: mingetty: Rename misnamed accessors....Rename the accessors to ensure all start with `mingetty-configuration-' prefix. Some were named just `mingetty-$FIELD', instead of `mingetty-configuration-$FIELD'. The renaming *is* backwards compatible, since in the define-module's #:export argument the correct (`mingetty-configuration-$FIELD') were used already and thus the accessors were not accessible. * gnu/services/base.scm (<mingetty-configuration>): Rename accessors for auto-login, login-program, login-pause?, clear-on-logout?. Change-Id: I4557a82498805ade0b341feda9d33eccc305690f Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Tomas Volf
2024-12-15services: mingetty: Add additional configuration options....Not all aspects of mingetty were configurable, so this commit adds the additional configuration fields to support that. * gnu/services/base.scm (<mingetty-configuration>): Add delay, print-issue, print-hostname, nice, working-directory, root-directory fields. (mingetty-shepherd-service): Use the new fields. (define-module)<#:export>: Export the new accessors. * doc/guix.texi (Base Services)<mingetty-configuration>: Document the additional field. Change-Id: I4557a82498805ade0b341feda9d33eccc305690f Tomas Volf
2024-12-12services: 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ès
2024-12-10services: 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 Nieuwenhuizen
2024-12-09services: 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 Sent
2024-12-09services: 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ès
2024-12-09services: 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ès
2024-12-06services: 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 Sent
2024-12-06services: 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 Sent
2024-12-06services: 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 Sent
2024-11-23gnu: 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 Eure
2024-11-20gnu: 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> Dariqq
2024-11-20services: 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 Volf
2024-11-20services: 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 Volf
2024-11-16gnu: 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 via
2024-11-11system: 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 Nieuwenhuizen
2024-11-11system: 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 Nieuwenhuizen
2024-11-03services: 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 Russelstein
2024-11-03services: 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ès
2024-11-01services: 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 Cournoyer
2024-11-01services: 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 Cournoyer
2024-10-28gnu: 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 Graves
2024-10-23services: 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 Cournoyer
2024-10-20services: 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 Natali
2024-10-19services: 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 Cournoyer
2024-10-18gnu: 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 Natali
2024-10-16Add 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 Yerden
2024-10-15services: 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 Junjie
2024-10-14services: 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 Yerden
2024-10-14services: 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 Rimm
2024-10-07services: 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 Cournoyer
2024-10-07services: 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 Cournoyer
2024-09-19services: 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ès
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