summaryrefslogtreecommitdiff
path: root/gnu/services
Commit message (Expand)AuthorAgeFilesLines
* services: guix: Gracefully handle dangling symlink for ‘machines.scm’.•••Previously, if /etc/guix/machines.scm was a dangling symlink, it would be kept (because ‘file-exists?’ would return #f) and thus the following ‘symlink’ call would throw with EEXIST. * gnu/services/base.scm (guix-machines-files-installation): Use ‘lstat’ rather than ‘file-exists?’. Change-Id: I07c7eed842dacabbd19ae2a17ac3e59cf26e46b2 Ludovic Courtès2024-04-061-7/+8
* Merge branch 'gnome-team'Liliana Marie Prikler2024-03-304-54/+230
|\
| * Merge remote-tracking branch 'savannah/master' into gnome-team•••Change-Id: Iec8e15b79c6fde516294c2bfcaf8ee3575b1f745 Christopher Baines2024-03-203-1/+14
| |\
| * \ Merge branch 'master' into gnome-teamLiliana Marie Prikler2024-03-101-1/+4
| |\ \
| * \ \ Merge branch 'master' into gnome-teamLiliana Marie Prikler2024-02-253-3/+92
| |\ \ \
| * | | | services: gdm: Enable wayland by default.•••* gnu/services/xorg.scm (<gdm-configuration>): Change the default value for wayland? from '#f' to '#t'. Change-Id: Ic966dfc462b1140894aa6c38c23e229d6252d340 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Vivien Kraus2024-02-241-1/+1
| * | | | services: desktop: Remove unused imports.•••These imports were needed for a short time to consider two variants of finding udev/polkit configuration files. They are no longer needed, since the respective procedures use all packages now. * gnu/services/desktop.scm: Strip use of (guix diagnostics) and (srfi srfi-35). Liliana Marie Prikler2024-02-231-2/+0
| * | | | services: Extend polkit capabilities of gnome-desktop-service.•••As with our udev extension, this makes it so that all inputs are considered modulo a new ignorelist. * gnu/services/desktop.scm (gnome-desktop-configuration): Add polkit-ignorelist. (gnome-polkit-settings): Adjust accordingly. Liliana Marie Prikler2024-02-231-17/+27
| * | | | services: Extend udev capabilities of gnome-desktop-service.•••Our udev service is capable of handling both rules and hardware databases. This patch makes it so that gnome can install any such needed rules or databases, while also allowing users to supply a list of names to ignore (via regular expressions). * gnu/services/desktop.scm (gnome-desktop-configuration): Add udev-ignorelist. (gnome-udev-resources): Rename to… (gnome-udev-configuration-files): … this. Account for udev-ignorelist. (gnome-desktop-service-type): Adjust accordingly. Change-Id: I6df4b896652581c42a35ea3ba1e4849ad72d12ef Vivien Kraus2024-02-231-18/+36
| * | | | services: Modularise gnome-desktop-configuration.•••* gnu/services/gnome.scm (extract-propagated-inputs): New variable. (gnome-desktop-configuration): Add ‘core-services’, ‘shell’, ‘utilities’, and ‘extra-packages’. Deprecate ‘gnome’. (gnome-desktop-configuration-core-services, gnome-desktop-configuration-shell) (gnome-desktop-configuration-utilities) (gnome-desktop-configuration-extra-packages): Export publicly. (gnome-udev-rules, gnome-polkit-settings): Adjust accordingly. (gnome-profile): New variable. (gnome-desktop-service-type): Adjust accordingly. Liliana Marie Prikler2024-02-231-14/+83
| * | | | Merge branch 'master' into gnome-teamLiliana Marie Prikler2024-02-132-148/+510
| |\ \ \ \
| * \ \ \ \ Merge branch 'master' into gnome-teamLiliana Marie Prikler2024-02-034-27/+449
| |\ \ \ \ \
| * \ \ \ \ \ Merge branch 'master' into gnome-teamLiliana Marie Prikler2024-01-144-58/+36
| |\ \ \ \ \ \
| * \ \ \ \ \ \ Merge branch 'master' into gnome-teamLiliana Marie Prikler2024-01-074-22/+30
| |\ \ \ \ \ \ \
| * | | | | | | | gnu: dbus-service: only symlink /run/dbus the first time•••Due to an error in the nesting of S-Expressions, the re-linking of /var/run/dbus to /run/dbus would occur even if it was already a correct symlink. It should only happen if the symlink is different. * gnu/services/dbus.scm (dbus-activation): Adjust accordingly. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Vivien Kraus2024-01-071-3/+3
| * | | | | | | | Merge branch 'master' into gnome-teamLiliana Marie Prikler2024-01-018-339/+223
| |\ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ Merge branch 'master' into gnome-teamLiliana Marie Prikler2023-12-204-10/+214
| |\ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ Merge branch 'master' into HEAD•••Change-Id: I3f5d121162d98ef2ae61a62c4da3b0fd19d864e8 Liliana Marie Prikler2023-12-036-14/+285
| |\ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into gnome-team•••Change-Id: I88d3789460d1a89917451d80405d89a2824006ac Liliana Marie Prikler2023-11-041-10/+14
| |\ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into gnome-team•••Change-Id: Ib6f55bebef2fb235fa59fd5442102a3e0ace3191 Liliana Marie Prikler2023-10-233-16/+137
| |\ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | gnu: udev-service-type: accept hardware description file extensions.•••The udev-configuration record now has a hardware field. The contents of the /etc/udev directory now includes hwdb.bin, which is computed when the system is instanciated (prior to system activation). The hardware description files used to generate hwdb.bin are not installed in /etc, because they are not required at run-time. The documentation has been reworked so as to explain why creating udev rules or hardware needs helper functions for configuration or extension. * gnu/services/base.scm (udev-hardware): New function. (file->udev-hardware): New function. (udev-hardware-service): New function. (udev-etc): Add hwdb.d and hwdb.bin. (module): Export udev-hardware, file->udev-hardware, and udev-hardware-service. (<udev-configuration>): Add the native-udev field. (udev-service-type) [extend]: Populate the hardware field. * doc/guix.texi (Base Services)[udev-service-type]: Explain configuration and extension values. * doc/guix.texi (Base Services)[udev-hardware]: Document it. [udev-hardware-service]: Same. * doc/guix.texi (Base Services)[udev-configuration]: Document the native-udev field. Vivien Kraus2023-10-101-14/+58
| * | | | | | | | | | | | | services: udev: Make udev-rule helper functions generic.•••* gnu/services/base.scm (udev-configurations-union): New function. (udev-configuration-file): New function, use file->udev-configuration-file. (file->udev-configuration-file): New function. (udev-rules-union): Use udev-configurations-union. (udev-rule): Use udev-configuration-file. (file->udev-rule): Use file->udev-configuration-file. Vivien Kraus2023-10-101-16/+34
| * | | | | | | | | | | | | services: udev: Rewrite udev-rule to use file->udev-rule.•••* gnu/services/base.scm (udev-rule): Use file->udev-rule. Vivien Kraus2023-10-101-13/+1
| * | | | | | | | | | | | | gnu: dbus-service: Make the session bus available under /run/dbus.•••According to https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3101, glib now searches for the session bus socket in runstatedir. The dbus service must thus have its socket in /run/dbus. For interoperability with the dbus standard, /run/dbus is also symlinked to /var/run/dbus. * gnu/services/dbus.scm (dbus-activation): Symlink /run/dbus to /var/run/dbus. (%dbus-accounts): Run dbus in /run/dbus. (dbus-root-service-type): Save the pid file in /run/dbus. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Vivien Kraus2023-10-091-3/+34
* | | | | | | | | | | | | | services: postgresql: Simplify execution of ‘initdb’.•••* gnu/services/databases.scm (postgresql-activation): Replace ‘primitive-exit’ + ‘system*’ with ‘execl’. Change-Id: I491fd3093f67af59f240438d7d6123e769e4ec1e Ludovic Courtès2024-03-301-6/+3
* | | | | | | | | | | | | | services: postgresql: Don't initdb when directory exists.•••* gnu/services/databases.scm (postgresql-activation): Check if directory exists. Reviewed-by: Dale Mellor <guix-devel-0brg6b@rdmp.org> Signed-off-by: Ludovic Courtès <ludo@gnu.org> Change-Id: Id563a3e8df2cb5b805e64cd8319303c65d308c69 Robert Vollmert2024-03-301-33/+35
* | | | | | | | | | | | | | services: nar-herder: Add new configuration options.•••* gnu/services/guix.scm (nar-herder-configuration-new-ttl, nar-herder-cached-compression-configuration-unused-removal-duration, nar-herder-cached-compression-configuration-ttl, nar-herder-cached-compression-configuration-new-ttl): New procedure. (nar-herder-shepherd-services): Handle the new options. * doc/guix.texi (Guix Services): Document the new nar-herder options. Change-Id: I161e490221a3ce394e32ada685dca27df60638bb Christopher Baines2024-03-251-3/+37
* | | | | | | | | | | | | | services: guix: Add ‘channels’ field.•••* doc/guix.texi (Base Services): Document 'guix-configuration-channels' field. (Invoking guix pull): Add cross-reference. * gnu/services/base.scm (install-channels-file): New procedure. (guix-configuration): Add channels field. (guix-activation): Use 'install-channels-file' procedure. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Change-Id: I4d89235bf0bc6dde69984138ccb894b48ace9d76 Antero Mejr2024-03-221-1/+33
* | | | | | | | | | | | | | services: guix-publish: Use ‘make-systemd-constructor’ unconditionally.•••The #:lazy-start? parameter was added in the Shepherd 0.10.0, which is required since commit 477d4f7d241165b5a5fd315c27efd7803fad4a04. * gnu/services/base.scm (guix-publish-shepherd-service): Use ‘make-systemd-constructor’ unconditionally and pass #:lazy-start?. Change-Id: I95aa079732cd21e32091c7deea2ed2f1bc50f2f2 Ludovic Courtès2024-03-211-10/+5
* | | | | | | | | | | | | | services: shepherd: Load each service file in a fresh module.•••Fixes <https://issues.guix.gnu.org/67649>. * gnu/home/services/shepherd.scm (home-shepherd-configuration-file)[config]: Define ‘make-user-module’. Call ‘load’ in ‘save-module-excursion’. * gnu/services/shepherd.scm (shepherd-configuration-file): Likewise. Reported-by: Attila Lendvai <attila@lendvai.name> Change-Id: I7df11c81b5bbbf2b24a8daa02502a000e0826fe0 Ludovic Courtès2024-03-211-1/+12
| |_|_|_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | |
* | | | | | | | | | | | | services: sddm: Add extension for localed-service-type.•••* gnu/services/sddm.scm (sddm-service-type): Add extension for localed-service-type. * gnu/services/xorg.scm (xorg-configuration-keyboard-layout): Export it. Change-Id: I26e6475b733d69f1baf00786e302a3ec6d3c4a74 Signed-off-by: 宋文武 <iyzsong@member.fsf.org> Zheng Junjie2024-03-192-1/+8
* | | | | | | | | | | | | gnu: services: Add insecure-sasl-mechanisms to prosody configuration.•••* gnu/services/messaging.scm (prosody-configuration): Add insecure-sasl-mechanisms configuration option. * doc/guix.texi (Messaging Services): Document it. Change-Id: I8d9e42476ea8ad2f89b143ed4a66b4798e418586 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Carlo Zancanaro2024-03-171-0/+6
| |_|_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | |
* | | | | | | | | | | | services: virtual-build-machine: Disable substitutes by default.•••These are useless when offloading yet were causing problems on systems where the default substitute servers are unreachable. * gnu/services/virtualization.scm (%virtual-build-machine-operating-system): Add ‘use-substitutes?’ field to ‘guix-configuration’. Change-Id: I7d5e380a6f2e2d537de43fdb3c550958ed4db255 Ludovic Courtès2024-03-061-1/+4
| |_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | |
* | | | | | | | | | | services: Add whoogle-service-type.•••* gnu/services/web.scm (whoogle-service-type): New variable. * doc/guix.texi (Web Services): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Miguel Ángel Moreno2024-02-201-0/+56
* | | | | | | | | | | services: virtual-build-machine: Add ‘configuration’ action.•••* gnu/services/virtualization.scm (build-vm-shepherd-services): Add ‘configuration’ action. * doc/guix.texi (Virtualization Services): Document it. Change-Id: I4734e096d744b3cda0d523692498a73c0029e188 Ludovic Courtès2024-02-181-0/+16
* | | | | | | | | | | services: virtual-build-machine: Add periodic GC job.•••* gnu/services/virtualization.scm (%virtual-build-machine-operating-system): Add ‘periodic-gc’ service. Change-Id: Id5bde1ee3f8e1e549e231375e776d3201ec9e0b5 Ludovic Courtès2024-02-181-0/+6
* | | | | | | | | | | services: virtual-build-machine: Use a non-volatile root file system.•••This is a followup to e0ade40c2b7f39dc109ef03d43241033e14c4d4a, which didn’t have the desired effect. * gnu/services/virtualization.scm (virtual-build-machine-default-image): Add ‘volatile-root?’ field. Change-Id: I1a622f22cdd0f8f83860a6eb4a852518db3b46b7 Ludovic Courtès2024-02-181-0/+1
* | | | | | | | | | | services: virtual-build-machine: Do not offload when service is stopped.•••* gnu/services/virtualization.scm (check-vm-availability): Check the value of ‘live-service-running’. Change-Id: Iba858ea0fa417d9276e026b72b4b78791932482e Ludovic Courtès2024-02-181-1/+2
* | | | | | | | | | | services: block-facebook-hosts: Use proper unroutable addresses.•••This is safer and more appropriate than redirecting to localhost. * gnu/services/networking.scm (%unroutable-ipv4, %unroutable-ipv6): New variables. (facebook-host-aliases): Use them. Change-Id: Idd4b1fec903c52d542d177a52fec1814eded4119 Ludovic Courtès2024-02-181-2/+11
| |_|_|_|_|_|_|_|_|/ |/| | | | | | | | |
* | | | | | | | | | services: virtual-build-machine: Use a larger partition by default.•••So far the partition had too little free space. * gnu/services/virtualization.scm (%default-virtual-build-machine-image-size): New variable. (virtual-build-machine-default-image): Define ‘partitions’ field. Change-Id: Iffe0f316eecad8754d29f8c811cdc4836a818a3f Ludovic Courtès2024-02-121-2/+15
* | | | | | | | | | services: virtual-build-machine: Add base file systems to default OS.•••This provides /dev/pts and other things that are important for builds (for example, Python 2.x has ‘openpty’ unit tests that can only succeed when /dev/pts is available.) * gnu/services/virtualization.scm (%virtual-build-machine-operating-system) [file-systems]: Add %BASE-FILE-SYSTEMS. Change-Id: I7d12a4cb491e957bf55e6c5f9dd09c013473ca42 Ludovic Courtès2024-02-121-2/+3
* | | | | | | | | | services: Add ‘virtual-build-machine’ service.•••* gnu/services/virtualization.scm (<virtual-build-machine>): New record type. (%build-vm-ssh-port, %build-vm-secrets-port, %x86-64-intel-cpu-models): New variables. (qemu-cpu-model-for-date, virtual-build-machine-ssh-port) (virtual-build-machine-secrets-port): New procedures. (%minimal-vm-syslog-config, %virtual-build-machine-operating-system): New variables. (virtual-build-machine-default-image): (virtual-build-machine-account-name) (virtual-build-machine-accounts) (build-vm-shepherd-services) (initialize-build-vm-substitutes) (build-vm-activation) (virtual-build-machine-offloading-ssh-key) (virtual-build-machine-activation) (virtual-build-machine-secret-root) (check-vm-availability) (build-vm-guix-extension): New procedures. (initialize-hurd-vm-substitutes): Remove. (hurd-vm-activation): Rewrite in terms of ‘build-vm-activation’. * gnu/system/vm.scm (linux-image-startup-command): New procedure. (operating-system-for-image): Export. * gnu/tests/virtualization.scm (run-command-over-ssh): New procedure, extracted from… (run-childhurd-test): … here. [test]: Adjust accordingly. (%build-vm-os): New variable. (run-build-vm-test): New procedure. (%test-build-vm): New variable. * doc/guix.texi (Virtualization Services)[Virtual Build Machines]: New section. (Build Environment Setup): Add cross-reference. Change-Id: I0a47652a583062314020325aedb654f11cb2499c Ludovic Courtès2024-02-101-130/+472
* | | | | | | | | | services: secret-service: Make the endpoint configurable.•••Until now, the secret service had a hard-coded TCP endpoint on port 1004. This change lets users specify arbitrary socket addresses. * gnu/build/secret-service.scm (socket-address->string): New procedure, taken from Shepherd. (secret-service-send-secrets): Replace ‘port’ by ‘address’ and adjust accordingly. (secret-service-receive-secrets): Likewise. * gnu/services/virtualization.scm (secret-service-shepherd-services): Likewise. (secret-service-operating-system): Add optional ‘address’ parameter and honor it. Adjust ‘start’ method accordingly. Change-Id: I87a9514f1c170dca756ce76083d7182c6ebf6578 Ludovic Courtès2024-02-101-17/+23
* | | | | | | | | | services: kernel-module-lodaer: Add udev requirement.•••Otherwise, modules will be loaded before udev starts, and load events won't be handled. * gnu/services/linux.scm (kernel-module-loader-shepherd-service)[requirement]: Add 'udev. Change-Id: Ib65028978f96012604b54b27a56501d4388b0f34 Hilton Chain2024-02-051-1/+1
| |_|_|_|_|_|_|_|/ |/| | | | | | | |
* | | | | | | | | services: certbot: Add one-shot service to renew certificates.•••* gnu/services/certbot.scm (certbot-renewal-one-shot): New procedure. (certbot-service-type)[extensions]: Add it to shepherd-root extension. (certbot-command): Make connection errors return a different exit code. (certbot-activation): Remove message with certificate renewal instructions. Change-Id: I614ac6214a753dba0396e2385a75926c8355caa1 Signed-off-by: Clément Lassieur <clement@lassieur.org> Carlo Zancanaro2024-01-311-14/+75
* | | | | | | | | services: certbot: Reload nginx in deploy hook.•••* gnu/services/certbot.scm (certbot-deploy-hook): Reload nginx. * doc/guix.texi (Certificate services): Remove deploy-hook from example. Change-Id: Ibb10481170a6fda7df72492072b939dd6a6ad176 Signed-off-by: Clément Lassieur <clement@lassieur.org> Carlo Zancanaro2024-01-311-2/+8
* | | | | | | | | services: certbot: Create self-signed certificates before certbot runs.•••* gnu/services/certbot.scm (<certificate-configuration>): Add start-self-signed? field. (generate-certificate-gexp): New procedure. (certbot-activation): Generate self-signed certificates when start-self-signed? is #t. * doc/guix.texi (Certificate services): Document start-self-signed?. Change-Id: Icfd85ae0c3e29324acbcde6ba283546cf0e27a1d Signed-off-by: Clément Lassieur <clement@lassieur.org> Carlo Zancanaro2024-01-311-3/+59
* | | | | | | | | services: certbot: Symlink certificates to /etc/certs.•••* gnu/services/certbot.scm (certbot-deploy-hook): New procedure. (certbot-command): Pass new deploy hook to certbot. * doc/guix.texi: Replace "letsencrypt/live" with "certs" throughout, except in the certbot deploy-hook description. Change-Id: I2ba5e4903d1e293e566b732a84b07d5a134b697d Signed-off-by: Clément Lassieur <clement@lassieur.org> Carlo Zancanaro2024-01-311-2/+34
* | | | | | | | | services: shepherd: Add respawn-limit and respawn-delay.•••* gnu/services/shepherd.scm (<shepherd-service>): Add respawn-limit and respawn-delay. (shepherd-service-file): Emit the two values into the shepherd service constructor form. Change-Id: I54408e8fb4bcc0956d9610771bf5c566fdc2914c Signed-off-by: Ludovic Courtès <ludo@gnu.org> Attila Lendvai2024-01-281-0/+14
* | | | | | | | | services: cuirass: Depend on ‘user-processes’.•••* gnu/services/cuirass.scm (cuirass-shepherd-service) (cuirass-remote-worker-shepherd-service): Add ‘user-processes’ to the ‘requirement’ field. Change-Id: Iba087bfd8aaa9b1ef54bcc77d855adc136e18644 Ludovic Courtès2024-01-241-4/+6