summaryrefslogtreecommitdiff
path: root/gnu/services
AgeCommit message (Collapse)AuthorFilesLines
2026-06-01services: Add forgejo-service-type.Maxim Cournoyer1-0/+913
* gnu/services/forgejo.scm: New file. * gnu/tests/forgejo.scm: Likewise. * doc/guix.texi (Forge Services): Document it. Change-Id: I2c4e7b570d137b8d2fb7c02a29cb9aaf5366b9e1
2026-05-31services: network-manager: Only delete symlinks into storeAngus Gibson1-10/+6
Instead of potentially deleting in the store itself, ensure only the symlink to the store is deleted by using delete-file. * gnu/services/networking.scm (network-manager-activation): <dnsmasq-configuration-files>: Use readlink instead of canonicalize path. Use delete-file instead of delete-files-recursively. <extra-configuration-files>: Likewise. Change-Id: I2e84ecfebb8a6c8797d851b35e90bb747432c0b2 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-31services: network-manager: Allow dnsmasq configuration.Angus Gibson1-2/+18
When using (dns "dnsmasq"), configuration is achieved through the /etc/NetworkManager/dnsmasq.d directory. The new field parallels extra-configuration-files for configuration of NetworkManager itself. * gnu/services/networking.scm (network-manager-configuration) <dnsmasq-configuration-files>: New field. * doc/guix.texi (Networking Setup): Document it. Change-Id: I31d772939e4e1d65f3ff407d70a87a64a047aac6 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-29gnu: Update default prometheus-node-exporter-configuration-package.Charles Roelli1-1/+1
* gnu/services/monitoring.scm (prometheus-node-exporter-configuration) [package]: Use the non-deprecated prometheus-node-exporter package as a default value. Merges: guix/guix!8935 Change-Id: I39a0c4eb3cf9e8d82ec0dc134c4f5abe40f1bc4d Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-05-29services: mumi: Make rsync and index timer event configurable.Arun Isaac1-4/+6
* gnu/services/web.scm (<mumi-configuration>)[rsync-and-index-event]: New field. * gnu/services/web.scm (mumi-shepherd-services): Use it. * doc/guix.texi (Web Services)[Mumi]: Document it. Change-Id: I5910c4a93106b44eaf3900d6a72fb501c01b8773
2026-05-26services: gunicorn: Allow configuration of control-socket.Sören Tempel1-0/+7
Since gunicorn is run in its own Linux namespace, where $HOME is read-only, creating that control-socket fails and prevents gunicorn from starting by default. Therefore, this patch disables it by default but allows supplying a custom path via a newly added configuration field. * gnu/services/web.scm (gunicorn-app): Add gunicorn-app-control-socket. (gunicorn-shepherd-services): Respect gunicorn-app-control-socket. * doc/guix.texi (gunicorn-app): Document it. Change-Id: I648079b630293a47801713425728a4d602c8088c
2026-05-26services: gunicorn: Fix usage with non-uri listening addresses.Sören Tempel1-1/+2
If the provided unix-socket? parameter is not an URI uri->string returns to be raised. For example, on inputs such as "0.0.0.0:8080". This is fixed in this commit by first checking if the input parameter is a valid URI, before calling uri-scheme. * gnu/tests/web.scm (unix-socket?): Check URI before calling uri-scheme. Change-Id: Icd9cb1e215a09b1f5dcbec4630e7df3256cde4aa
2026-05-26service: dnsmasq: Expose new options for authoritative operation.Maxim Cournoyer1-1/+16
* gnu/services/dns.scm (<dnsmasq-configuration>) [authoritative-servers, authoritative-zones, host-records]: New fields. (dnsmasq-shepherd-service): Use them. * doc/guix.texi (DNS Services): Add a new example and document the new fields. Change-Id: Ib26c3f59e90b2a9997ecdac03c5564ae02b6754e Reviewed-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-26service: dnsmasq: Add 'locals' configuration option.Maxim Cournoyer1-1/+6
* gnu/services/dns.scm (<dnsmasq-configuration>) [locals]: New field. (dnsmasq-shepherd-service): Use it. * doc/guix.texi (DNS Services): Document it. Change-Id: I1c2bc86c1636aa82451d1a38959380c3791fd8d4
2026-05-26service: dnsmasq: Add ipv4? and ipv6? configuration options.Maxim Cournoyer1-1/+13
* gnu/services/dns.scm (<dnsmasq-configuration>) [ipv4?, ipv6?]: New fields. (dnsmasq-shepherd-service): Use them. * doc/guix.texi (DNS Services): Document them. Change-Id: I50a4e407cea9e55295c9cfff081b7678ab7e061c
2026-05-25services: nginx: Add nginx to the system profile.Maxim Cournoyer1-1/+4
* gnu/services/web.scm (nginx-service-type): Extend the profile-service-type with the nginx package. Change-Id: I72b592c603a971bf9fbb64fe5ce02420010ac363
2026-05-25services: nginx: Adjust indentation.Maxim Cournoyer1-19/+20
* gnu/services/web.scm (nginx-service-type): Adjust indentation. Change-Id: I86696b13f7b6209bb3da7970ad4252e8de17305b
2026-05-20gnu: services: Add btrfs-scrub-service-type.Joan V. C.1-3/+132
* gnu/services/linux.scm (btrfs-scrub-configuration): New configuration record. (btrfs-scrub-service-type): New service type with custom actions. (fstrim-/shepherd-calendar-event?): Refactor to avoid name collisions. * doc/guix.texi: Add service documentation. Change-Id: I04747914591a80cd535d2f79d35e08f68081b2fc Signed-off-by: Joan Vilardaga Castro <codeberg-hn80@joanvc.cat> Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2026-05-19services: postgresql: Use match-record to access record values.Maxim Cournoyer1-106/+106
* gnu/services/databases.scm (postgresql-config-file-compiler): Use match-record. (postgresql-activation): Use match-record-lambda. (postgresql-shepherd-service): Likewise. Change-Id: I2aabaa90e1a0958973df3838efbcd1421c41dfce
2026-05-17services: gunicorn: Allow configuration of socket user/group/modeSören Tempel1-3/+13
Without this change, the mode is not at all configurable meaning that—depending on the umask(1)—it may allow access to others. Further, in many scenarios the owner/group of the Unix domain socket should differ from the owner/group of the gunicorn process. For example, we might want to grant the nginx group access to the socket but not use that as the GID for the gunicorn process. * gnu/services/web.scm (<gunicorn-app>): Add socket-user, socket-group and socket-mode. * gnu/services/web.scm (gunicorn-activation): Respect gunicorn-app-socket-user, gunicorn-socket-app-group, and gunicorn-app-socket-mode. * doc/guix.texi (Guix Services): Document new record fields. Change-Id: I1fe5b77deb791c38c1642753a52098d304124049
2026-05-11services: bffe-shepherd-services: Fix detection of guile.Andreas Enge1-1/+1
This partially reverts commit 3b537893939ef59c7ffccfa373c1e6a135289d4f . * gnu/services/guix.scm (bffe-shepherd-services): Use the package, not the variable name. Change-Id: I3bd34b369528e72f08ee3d5833b30bf073b585d2
2026-05-06gnu: Add fwupd-service-type.Giacomo Leidi1-0/+54
* gnu/services/firmware.scm: New file. (fwupd-configuration): New configuration record. (fwupd-service-type): New service type. * gnu/local.mk: Add it. * doc/guix.texi: Document it. Change-Id: Ibea27566d6ae64ccfdfdd2750be006df1ffde22d Signed-off-by: Sughosha <sughosha@disroot.org> Merges: guix/guix!5409
2026-05-06services: libvirt: Add Shepherd reload action.Edouard Klein1-1/+10
* gnu/services/virtualization.scm (libvirt-shepherd-service): Add a reload action that sends SIGHUP to libvirtd. Change-Id: Ie424dcc45dc0e93a979a0a8b7e680c28bf4ea387 Merges: https://codeberg.org/guix/guix/pulls/8204 Reviewed-by: Maxim Cournoyer <maxim@guixotic.coop> Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-05-05services: mysql: Extend system profile with mysql package.Maxim Cournoyer1-1/+3
* gnu/services/databases.scm (mysql-service-type): Add profile-service-type extension. Change-Id: Ib4748c5faa2368713427c299396501d3516cf990
2026-05-03services: syslog: Add pid file option.Yelninei1-1/+7
Alternative syslogd implementations use a different pid file. * gnu/services/base.scm: Export all syslog-configuration accessors. (syslog-configuration): Add pid-file field. (syslog-shepherd-service-type): Use it. * doc/guix.texi (syslog-configuration): Document it. Change-Id: I9be9fc741d98d4f49a37fbcbb2c644db859cadc1 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #6096
2026-05-01services: go-webdav: Don't run service as root.Sören Tempel1-1/+2
Instead, run it as the created go-webdav user. Since go-webdav doesn't drop privileges by itself this requires explicitly passing the users and group via make-forkexec-constructor, which was overlooked here. Without this patch, the account created by go-webdav-account-service is just not used at all, which is not what was intended here. * gnu/services/web.scm (go-webdav-shepherd-service): Pass #:user as well as #:group to make-forkexec-constructor. Change-Id: Ib48aa7884aca84c488133a035a76a7edfaaf0aab Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-05-01services: sogogi: Don't run service as root.Sören Tempel1-1/+2
Instead, run it as the created sogogi user. Since sogogi doesn't drop privileges by itself this requires explicitly passing the users and group via make-forkexec-constructor, which was overlooked here. Without this patch, the account created by sogogi-account-service is just not used at all, which is not what was intended here. * gnu/services/web.scm (sogogi-shepherd-service): Pass #:user as well as #:group to make-forkexec-constructor. Change-Id: Ifcb4291090e1aa6a43502c9ed581b0b0ff68a1b4 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-28services: guix-data-service: Add extra environment variable options.Christopher Baines1-3/+18
Also export guix-data-service-extra-options and guix-data-service-extra-process-jobs-options since this was missed previously. * gnu/services/guix.scm (<guix-data-service-configuration>): Add extra-environment-variables and extra-process-jobs-environment-variables. (guix-data-service-shepherd-services): Use them. * doc/guix.texi (Guix Services): Document them. Change-Id: I60f1371a86a01c4fb3dbde204dba84b9a8657ace
2026-04-28services: postgresql: Change default authentification method.Mattia Bunel1-2/+3
* gnu/services/databases.scm (%default-postgres-hba): Change the authentification method from the deprecated md5 to the recommended scram-sha-256. Change-Id: I4ae06bf2f77daa7a9339964182153c5f02897e4f Merges: https://codeberg.org/guix/guix/pulls/7780 Reviewed-by: jgart <jgart@dismail.de> Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-24services: nginx: Fix ‘stop’ in cases where a custom config file is passed.Daniel Littlewood1-1/+1
A previous commit (c7cb771cf4) fixed an issue with the nginx service to ensure it can be stopped when started from a custom config file. The stop command, which should have been `nginx -s stop`, was mistakenly written as `nginx stop`, which means that `herd stop nginx` still fails in the given case. This commit corrects that typo. * gnu/services/web.scm (nginx-shepherd-service): In ‘stop’, correctly call “nginx -s stop” when ‘value’ is not a process. Fixes: guix/guix#7061 Reported-by: Dan Littlewood Change-Id: I3055fc24084d30da969afd508861d2423a396ced Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #8128
2026-04-23gnu: guix-build-coordinator: Use current guile and guile-fibers.Andreas Enge1-2/+2
* gnu/packages/package-management.scm (guix-build-coordinator)[inputs]: Remove guile-next; add guile-3.0-latest. [propagated-inputs]: Remove guile-fibers-next; add guile-fibers. [native-inputs]: Remove guile-fibers-next and guile-next; add guile-fibers and guile-3.0-latest. [arguments]<#:phases>{wrap-executable}: Reference changed input. * gnu/services/guix.scm (<guix-build-coordinator-configuration>, make-guix-build-coordinator-start-script): Use guile-3.0-latest instead of guile-next as default. Change-Id: I16b219db03112b62b53ffdb01a5a0872cb9d79d2
2026-04-23gnu: bffe: Use current guile and guile-fibers.Andreas Enge1-1/+1
* gnu/packages/package-management.scm (bffe)[propagated-inputs]: Remove guile-fibers-next; add guile-fibers. [native-inputs]: Remove guile-next and guile-fibers-next; add guile-3.0-latest and guile-fibers. * gnu/services/guix.scm (bffe-shepherd-services): Adapt to changed input of the bffe package. Change-Id: I5f1cbb1225eb5c684b01098d7e87d198b5d20ff2
2026-04-23services: kmonad: New service.Sergio Pastor Pérez1-3/+52
* gnu/services/desktop.scm (<kmonad-configuration>) (kmonad-shepherd-service, kmonad-service-type): New variables. * doc/guix.texi (Desktop Services): Document `kmonad-service-type'. Change-Id: I53f868d55aea97858ec83d762a04723d3c72dc92 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-17services: bffe: Don't use line buffering.Christopher Baines1-3/+0
For the output ports, as this can cause problems with fibers. * gnu/services/guix.scm (bffe-shepherd-services): Don't use line buffered output. Change-Id: I93a24ea2bad2d7beac795caf515ffd7a259247a7
2026-04-17services: guix-build-coordinator: Don't use line buffering.Christopher Baines1-3/+0
For the output ports, as this can cause problems with fibers. * gnu/services/guix.scm (make-guix-build-coordinator-start-script): Don't use line buffered output. Change-Id: I7b26ef252b6f6999e8a39b5d872a780a99f3852c
2026-04-15gnu: autofs-service: Fix computing Shepherd requirements.Ian Eure1-10/+12
Handling of non-NFS/SMB mounts was buggy and did not work at all. * gnu/services/nfs.scm (autofs-configuration->requirements): Add an `else' to prevent losing the accumulator in the fold. (autofs-configuration->requirements): Call `delete-duplicates' on the input, not the output. Fixes #7927. Change-Id: I0cccde431d0bd19dc63be8754fb6dfa35a6f8a49
2026-04-12services: configuration: Add environment variable serializer.Giacomo Leidi2-0/+178
This patch implements a general API to serialize configuration records to list of pairs representing environment variables. The car of each pair represents the variable name and the cdr the variable value. * gnu/services/configuration/environment-variables.scm: New file. (serialize-string-environment-variable) (serialize-maybe-string-environment-variable) (serialize-boolean-environment-variable) (serialize-maybe-boolean-environment-variable) (serialize-number-environment-variable) (serialize-maybe-number-environment-variable): New variables. (serialize-environment-variables): New variable. * gnu/services/configuration/utils.scm: New file. (uglify-snake-case): New variable. * tests/services/configuration.scm: Add tests for environment serializer. (wrong type for a field): Adjust error location. * doc/guix.texi: Document it. Change-Id: I81a166576f94d3c8f5bf78c82a02183689a3091c Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-07services: redis: Add prefix `redis-`.Ashvith Shetty1-6/+14
* gnu/services/databases.scm (maybe-string): Add prefix. (serialize-field): Rename to `redis-serialize-field`, remove gexp. (redis-serialize-package): Add variable. (serialize-string): Rename to `redis-serialize-string`. (serialize-number): Rename to `redis-serialize-number`. (redis-configuration): Add prefix. * doc/guix.texi (Database Services) <redis>: Regenerate documentation. Merges: https://codeberg.org/guix/guix/pulls/6850 Change-Id: Iccbbb7108f8211b31769638ef885e485bab0ebc3 Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-04-07services: nginx: Fix ‘stop’ in cases where a custom config file is passed.Ludovic Courtès1-6/+10
Previously, when the ‘file’ field of ‘nginx-configuration’ was true, the PID file would be unknown; thus, the ‘start’ method would return #t and the ‘stop’ method would eventually fail with a type error because it would receive #t instead of a process. This fixes it by changing ‘stop’ to invoke “nginx -s stop” when the service’s value is not a process. * gnu/services/web.scm (nginx-shepherd-service): In ‘stop’, change to invoke “nginx -s stop” when ‘value’ is not a process. Fixes: guix/guix#7061 Reported-by: Dan Littlewood Change-Id: I20ff065ecd2c64e5fc98f59c25d91b300bc7b4cd Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #7543
2026-04-04services: Add gardenhostd-service-type.Noé Lopez1-0/+31
* gnu/services/desktop.scm (gardenhostd-service-type) (gardenhostd-configuration): New variables. * doc/guix.texi (Desktop Services): Document it. Change-Id: Ied926c34b620cc8032a0b121c7419644746e2ce9 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-04-04services: package-database: Run ‘guix locate’ without root privileges.Ludovic Courtès1-5/+37
* gnu/services/admin.scm (%package-database-file) (%package-database-accounts, %package-database-activation): New variables. (package-database-shepherd-services): Pass explicit ‘--database’ flag to ‘guix locate’. Pass #:user and #:group to ‘command’. Pass #:log-file. (package-database-service-type): Extend ‘activation-service-type’ and ‘account-service-type’. Change-Id: Ifbf65e004766d049d99a16e163339ac168c1f73c Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #7527
2026-04-03services: wireguard: Export wireguard-configuration-file.Tomas Volf1-0/+2
When you want to invoke wg-quick yourself, for example from a script, this procedure is useful to produce the configuration file for it. * gnu/services/vpn.scm (define-module)<#:export>: Add wireguard-configuration-file. Change-Id: Ifab8a9d731de19d2943517bf18c156a56fea4cca Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-04-02services: cat-avatar-generator: Fix default cache directory.Evgeny Pisemsky1-1/+1
* gnu/services/web.scm (cat-avatar-generator-service): Append slash to default cache directory. * doc/guix.texi (PHP-FPM)<cat-avatar-generator-service>: Likewise. Mention requirements. Change-Id: Idd46deca135bf37133b46bee3ba535d9bedf9258 Merges: https://codeberg.org/guix/guix/pulls/5189 Reviewed-by: Yan Abu Arab <yanabuarab@gmail.com> Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
2026-03-29gnu: Add collectd-service-type.Ian Eure1-6/+565
* gnu/services/monitoring.scm: (collectd-plugin-generic, collectd-plugin-generic?, collectd-plugin-generic-load-plugin?, collectd-plugin-generic-name, collectd-plugin-generic-options, collectd-plugin-python, collectd-plugin-python?, collectd-plugin-python-load-plugin?, collectd-plugin-python-type-databases, collectd-plugin-python-type-packages, collectd-plugin-python-module-paths, collectd-plugin-python-log-traces?, collectd-plugin-python-log-interactive?, collectd-plugin-python-import, collectd-plugin-python-module, collectd-plugin?, %collectd-default-type-database, %collectd-pid-file, collectd-configuration, collectd-configuration?, collectd-configuration-collectd, collectd-configuration-base-directory, collectd-configuration-auto-load-plugin?, collectd-configuration-collect-internal-stats?, collectd-configuration-type-databases, collectd-configuration-interval, collectd-configuration-max-read-interval, collectd-configuration-timeout, collectd-configuration-read-threads, collectd-configuration-write-threads, collectd-configuration-write-queue-limit-high, collectd-configuration-write-queue-limit-low, collectd-configuration-host-name, collectd-configuration-fully-qualified-domain-name-lookup?, collectd-configuration-plugins, collectd-service-type): New variable. * doc/guix.texi (Monitoring Services): Document it. Change-Id: I18d581292979e85603e679b9441be3eeb1856949
2026-03-29services: web: Add sogogi service.Sören Tempel1-0/+131
* gnu/services/web.scm (sogogi-service-type): New services. (sogogi-serialize-section, sogogi-serialize-field) (sogogi-serialize-string, sogogi-serialize-list-of-strings) (sogogi-serialize-sogogi-user, sogogi-serialize-sogogi-location) (sogogi-serialize-list-of-sogogi-user): New procedures. (sogogi-user, sogogi-location) (sogogi-configuration): New record types. (sogogi-account-service): New variable. (sogogi-config-file, sogogi-shepherd-service): New procedures. * gnu/tests/web.scm (%test-sogogi): Add tests for the service. * doc/guix.texi (Web Services): Document it. Change-Id: I5cc6dd84d6c7c8d5d13b685853b19c5d433ed7e5
2026-03-20services, tests: Refer to inherited field values where applicable.Ludovic Courtès1-2/+2
* gnu/machine/hetzner.scm (operating-system-authorize): Refer to ‘services’ instead of calling ‘operating-system-user-services’. * gnu/services/virtualization.scm (secret-service-operating-system): Likewise. * gnu/tests.scm (operating-system-with-console-syslog): Likewise. * gnu/tests/avahi.scm (%avahi-os): Likewise. * gnu/tests/base.scm (%test-guix-daemon-unprivileged): Likewise. * gnu/tests/nfs.scm (%nfs-os): Likewise. (run-nfs-full-test): Likewise. * gnu/system/vm.scm (virtualized-operating-system): Refer to ‘initrd-modules’ instead of calling ‘operating-system-initrd-modules’. Change-Id: I00c5f5c1e171b174bf0ca709b2dbd13a2fe161b5
2026-03-19services: dbus: Add rtkit service.陈功1-1/+37
* gnu/services/dbus.scm (rtkit-service-type): New variable. (rtkit-configuration): New record. Change-Id: I5078cb5032824c7799e7d26962911bbc67527562 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2026-03-14services: apcupsd-event-handlers: Fix G-expressions.Tomas Volf1-43/+51
There was one level of parentheses too much, leading to errors when the script was invoked due to trying to apply e.g., 0 or #t. So either use begin, or strip one level, as appropriate. * gnu/services/power.scm (apcupsd-event-handlers): Fix all G-expressions. Signed-off-by: Andreas Enge <andreas@enge.fr>
2026-03-14services: plasma-desktop: Enable udev configurations.Sughosha1-0/+11
* gnu/services/desktop.scm (plasma-udev-configurations): New variable. (plasma-desktop-service-type): Extend udev-service-type with it. Change-Id: Ifcf08c731b1173c9c811b22744072538e4df7e36
2026-03-14services: plasma-desktop: Adjust indentation.Sughosha1-4/+4
* gnu/services/desktop.scm (plasma-polkit-settings): Reindent comments. (plasma-dbus-service): Ditto. Change-Id: I67677e34732faf3aa0954f183562a0fc210b5fcd
2026-03-11services: Add fossil-service-type.Nguyễn Gia Phong1-1/+256
* gnu/services/version-control.scm (fossil-service-type, fossil-configuration): New public variables. * gnu/tests/version-control.scm (%test-fossil): Add system tests. * doc/guix.texi (Version Control Services): Add Fossil documentation. Change-Id: I84e09fe8c11e161ed7c4bdba42b0ae38ef4c2096 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2026-03-11services: Add and use shepherd-signal-action.Yelninei7-81/+54
* gnu/services/shepherd.scm (shepherd-signal-action): New procedure. * gnu/services/audio.scm (mpd-shepherd-service): Use it for actions. * gnu/services/base.scm (syslog-shepherd-service): * gnu/services/base.scm (dnsmasq-shepherd-service): * gnu/services/file-sharing.scm (transmission-daemon-shepherd-service): * gnu/services/monitoring.scm (vnstat-shepherd-service): * gnu/services/mail.scm (rspamd-shepherd-service): * doc/guix.texi (shepherd-signal-action): Document it. Change-Id: Ief5e00c7d430ec4aa28c3ef11d0ef9897793b45f Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #6097
2026-03-10services: Generalize alsa-configuration.Liliana Marie Prikler1-42/+117
* gnu/packages/sound.scm (alsa-pcm-configuration, alsa-ctl-configuration): New configuration records. (serialize-alsa-pcm-configuration, serialize-alsa-ctl-configuration): New variables. (<alsa-configuration>): Remove alsa-plugins and pulseaudio?. Add default-pcm and default-ctl. Rename extra-options to options. (alsa-config-file): Adjust accordingly. (alsa-servcice-type): Add compose and extend. (<pulseaudio-configuration>): Add alsa-lib. (pulseaudio-alsa-configuration): New procedure. (pulseaudio-service-type): Extend alsa-servcice-type.
2026-03-09gnu: Add soju-service-type.Giacomo Leidi1-3/+343
* gnu/services/messaging.scm (%default-soju-shepherd-requirement): New variable. (soju-ssl-certificate): New configuration record. (soju-database): New configuration record. (soju-configuration): New configuration record. (serialize-soju-configuration,soju-activation,soju-accounts, soju-shepherd-services): New procedures. (soju-service-type): New service. (serialize-ngircd-configuration): Reformat. (pounce-configuration): Reformat. * doc/guix.texi: Document the new soju service. * gnu/tests/messaging.scm: Test the new soju service. Change-Id: I6223ecac1aaaab76bd75461851ffe4cec0678118
2026-03-09gnu: Remove postgresql-service procedure.Andreas Enge1-23/+0
* gnu/services/databases.scm (postgresql-service): Delete variable. Change-Id: Iec27908b892eae666ea4c1b28a63a2d3d48b804d