1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-07-31 14:01:30 +02:00
Commit Graph

2494 Commits

Author SHA1 Message Date
Charles Roelli 42ab6a3899 gnu: Update default prometheus-node-exporter-configuration-package.
* 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-29 16:41:42 +01:00
Arun Isaac b8354c2979 services: mumi: Make rsync and index timer event configurable.
* 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-29 09:48:26 +01:00
Sören Tempel 056de157b2 services: gunicorn: Allow configuration of control-socket.
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-26 18:43:22 +02:00
Sören Tempel 5b4c715e2a services: gunicorn: Fix usage with non-uri listening addresses.
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-26 18:43:16 +02:00
Maxim Cournoyer dc4db2273a service: dnsmasq: Expose new options for authoritative operation.
* 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-26 16:07:53 +09:00
Maxim Cournoyer 7d9b4b7bb7 service: dnsmasq: Add 'locals' configuration option.
* 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-26 16:07:53 +09:00
Maxim Cournoyer 185b9f4f19 service: dnsmasq: Add ipv4? and ipv6? configuration options.
* 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-26 16:07:53 +09:00
Maxim Cournoyer 39d04c9f86 services: nginx: Add nginx to the system profile.
* gnu/services/web.scm (nginx-service-type): Extend the profile-service-type
with the nginx package.

Change-Id: I72b592c603a971bf9fbb64fe5ce02420010ac363
2026-05-25 13:58:07 +09:00
Maxim Cournoyer cb1c7ce47b services: nginx: Adjust indentation.
* gnu/services/web.scm (nginx-service-type): Adjust indentation.

Change-Id: I86696b13f7b6209bb3da7970ad4252e8de17305b
2026-05-25 13:58:07 +09:00
Joan V. C. 3b7fd1e766 gnu: services: Add btrfs-scrub-service-type.
* 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-20 11:37:30 +03:00
Maxim Cournoyer 8de7f580cd services: postgresql: Use match-record to access record values.
* 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-19 15:40:56 +09:00
Sören Tempel 258cabed32 services: gunicorn: Allow configuration of socket user/group/mode
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-17 17:59:35 +02:00
Andreas Enge 5bb8ff2edd services: bffe-shepherd-services: Fix detection of guile.
This partially reverts commit 3b53789393 .

* gnu/services/guix.scm (bffe-shepherd-services): Use the package,
not the variable name.

Change-Id: I3bd34b369528e72f08ee3d5833b30bf073b585d2
2026-05-11 14:31:03 +02:00
Giacomo Leidi 126a51d0e5 gnu: Add fwupd-service-type.
* 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-06 19:41:09 +05:30
Edouard Klein 16f9d0985f services: libvirt: Add Shepherd reload action.
* 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-06 15:42:59 +09:00
Maxim Cournoyer c8f53f4b2e services: mysql: Extend system profile with mysql package.
* gnu/services/databases.scm (mysql-service-type): Add profile-service-type
extension.

Change-Id: Ib4748c5faa2368713427c299396501d3516cf990
2026-05-05 23:48:31 +09:00
Yelninei c0d0ba76e5 services: syslog: Add pid file option.
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-03 22:45:53 +02:00
Sören Tempel 9c844b6008 services: go-webdav: Don't run service as root.
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-01 07:46:47 +02:00
Sören Tempel bdd1a6655d services: sogogi: Don't run service as root.
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-05-01 07:46:47 +02:00
Christopher Baines b2ff307a6e services: guix-data-service: Add extra environment variable options.
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-28 10:14:35 +01:00
Mattia Bunel abaf568edf services: postgresql: Change default authentification method.
* 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-28 15:03:16 +09:00
Daniel Littlewood fe89ae08c2 services: nginx: Fix ‘stop’ in cases where a custom config file is passed.
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-24 22:16:01 +02:00
Andreas Enge 3d19529f8e gnu: guix-build-coordinator: Use current guile and guile-fibers.
* 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-23 19:04:52 +02:00
Andreas Enge 3b53789393 gnu: bffe: Use current guile and guile-fibers.
* 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-23 19:04:52 +02:00
Sergio Pastor Pérez 9e5a110068 services: kmonad: New service.
* 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-23 09:46:11 +02:00
Christopher Baines 84426cb20a services: bffe: Don't use line buffering.
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-17 18:51:46 +01:00
Christopher Baines 3e4c2ce48e services: guix-build-coordinator: Don't use line buffering.
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-17 18:51:46 +01:00
Ian Eure c26c3d0f53 gnu: autofs-service: Fix computing Shepherd requirements.
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-15 15:06:05 -07:00
Giacomo Leidi 0b8e838208 services: configuration: Add environment variable serializer.
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-12 17:23:42 +02:00
Ashvith Shetty 75ad22703e services: redis: Add prefix redis-.
* 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-07 21:41:58 +01:00
Ludovic Courtès c7cb771cf4 services: nginx: Fix ‘stop’ in cases where a custom config file is passed.
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-07 13:26:20 +02:00
Noé Lopez f78a0db28d services: Add gardenhostd-service-type.
* 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-04 18:27:03 +02:00
Ludovic Courtès 985715e1e3 services: package-database: Run ‘guix locate’ without root privileges.
* 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-04 00:30:52 +02:00
Tomas Volf 38d35941ca services: wireguard: Export wireguard-configuration-file.
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-03 14:41:22 +09:00
Evgeny Pisemsky f7c9456a6f services: cat-avatar-generator: Fix default cache directory.
* 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-04-02 13:24:51 +09:00
Ian Eure 0218c4136a gnu: Add collectd-service-type.
* 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-29 08:59:52 -07:00
Sören Tempel 3f3cec8993 services: web: Add sogogi service.
* 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-29 14:12:56 +02:00
Ludovic Courtès 72e724cef4 services, tests: Refer to inherited field values where applicable.
* 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-20 13:27:16 +01:00
陈功 fd9d0b3530 services: dbus: Add rtkit service.
* 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-19 07:37:06 +01:00
Tomas Volf c934a69a96 services: apcupsd-event-handlers: Fix G-expressions.
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-14 16:19:45 +01:00
Sughosha 249f30462b services: plasma-desktop: Enable udev configurations.
* gnu/services/desktop.scm (plasma-udev-configurations): New variable.
(plasma-desktop-service-type): Extend udev-service-type with it.

Change-Id: Ifcf08c731b1173c9c811b22744072538e4df7e36
2026-03-14 20:15:20 +05:30
Sughosha 4b58dad42b services: plasma-desktop: Adjust indentation.
* gnu/services/desktop.scm (plasma-polkit-settings): Reindent comments.
(plasma-dbus-service): Ditto.

Change-Id: I67677e34732faf3aa0954f183562a0fc210b5fcd
2026-03-14 20:15:19 +05:30
Nguyễn Gia Phong 3433fb987b services: Add fossil-service-type.
* 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-11 18:27:46 +01:00
Yelninei 6eb6971f4d services: Add and use shepherd-signal-action.
* 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-11 18:27:46 +01:00
Liliana Marie Prikler de8b977d4e services: Generalize alsa-configuration.
* 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-10 11:23:30 +01:00
Giacomo Leidi 520785e315 gnu: Add soju-service-type.
* 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-09 23:17:24 +01:00
Andreas Enge c4f5971dbe gnu: Remove postgresql-service procedure.
* gnu/services/databases.scm (postgresql-service): Delete variable.

Change-Id: Iec27908b892eae666ea4c1b28a63a2d3d48b804d
2026-03-09 13:09:41 +01:00
Andreas Enge f9094fc6c2 gnu: Remove mysql-service procedure.
* gnu/services/databases.scm (mysql-service): Delete variable.

Change-Id: Idbf3c9e2d595722792231f2417f85927bf89330c
2026-03-09 13:09:41 +01:00
Giacomo Leidi fd6b17bf20 gnu: Add tuned-service-type.
* gnu/services/linux.scm
(tuned-configuration,tuned-settings,tuned-ppd-settings): New
configuration records.
(tuned-file-systems,tuned-activation,tuned-shepherd-services,
tuned-kernel-modules): New procedures.
(tuned-service-type): New service type.
* doc/guix.texi: Add service documentation.

Change-Id: I6c8d54c23175c2ea133d99965641c548fb1d6452
2026-03-07 22:28:01 +01:00
Sughosha 826a6bea27 services: plasma-desktop: Enable kde-inotify-survey.
* gnu/services/desktop.scm (plasma-polkit-settings): Add kde-inotify-survey.
(plasma-dbus-service): Ditto.

Change-Id: Ic4598dca4a8c109821b5de60d1b5bdb1d7f6f6bf
2026-03-08 00:02:05 +05:30