1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-05-11 03:35:56 +02:00
Commit Graph

2477 Commits

Author SHA1 Message Date
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
Sughosha 870cf89d0f services: plasma-desktop: Enable plasma-thunderbolt.
* gnu/services/desktop.scm (plasma-polkit-settings): Add bolt.
(plasma-dbus-service): Ditto.

Change-Id: I7d32a0053dfd2f472cdcfbab67e17307871a4824
2026-03-05 15:57:57 +05:30
Sughosha a31ac4846c services: plasma-desktop: Enable fwupd.
* gnu/services/desktop.scm (plasma-polkit-settings): Add fwupd.
(plasma-dbus-service): Ditto.

Change-Id: Ibe5ffea441b8920694accd688401b5fed2c41784
2026-03-05 07:54:12 +05:30
Sughosha 4de544fb61 services: plasma-desktop: Cleanup plasma-polkit-settings.
* gnu/services/desktop.scm (plasma-polkit-service): Reorder.

Change-Id: Icc0ae7aff52a567c8b7b8ad5e929828a8b4eafe2
2026-03-05 07:54:12 +05:30
Sughosha 08a5d6587f services: plasma-desktop: Cleanup plasma-dbus-service.
* gnu/services/desktop.scm (plasma-dbus-service): Reorder; remove
kactivitymanagerd and kwallet.

Change-Id: I304490c20006d60729fe7984a1c1b8c7d84f62fc
2026-03-05 07:54:12 +05:30
Giacomo Leidi a375202ad3 gnu: libvirt: Configure default libvirt network.
* gnu/services/virtualization.scm (%libvirt-activation): Activate
default libvirt network configuration file.
* gnu/tests/virtualization.scm (run-libvirt-test): Drop network
definition test and replace it with a test checking that the default
network is inactive by default.

Change-Id: I03b6314a390c6d93ebf886d7033867ff5cacad74
2026-03-04 20:18:02 +01:00
Lilah Tascheter 22ae76cfce services: mollysocket: Fix mollysocket configuration.
* gnu/services/messaging.scm (ms-format): Run string-map on label, not str/rhs.

Change-Id: I07b6b90e4156b525aad1490a4165a3359bda8b3e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4435
2026-03-04 17:45:15 +01:00
Sughosha 2746e07180 services: readymedia: Allow relative paths to media directories.
* gnu/services/upnp.scm (readymedia-activation): For home services, if the
media directory paths are relative, create it in the user's home directory.
* doc/guix.texi (Miscellaneous Services)[DLNA/UPnP Services]: Update doc.

Change-Id: I39176320d6c33c56c5b80ad9e67e989ee41565da
2026-03-03 23:53:40 +05:30
Fabio Natali 0c506e6f52 gnu: services: Add gunicorn-service-type.
* gnu/services/web.scm
(<gunicorn-configuration>, <gunicorn-app>): New records.
(unix-socket?, unix-socket-path, gunicorn-activation,
gunicorn-shepherd-services): New procedures.
(gunicorn-service-type): New variable.
* doc/guix.texi (Web Services): Document the new service.

Co-authored-by: Arun Isaac <arunisaac@systemreboot.net>
Change-Id: I3aa970422e6a5d31158b798b1061e6928ad2160b
Signed-off-by: jgart <jgart@dismail.de>
2026-03-01 08:33:54 -05:00
Danny Milosavljevic 31d7f1f431 services: greetd: Fix Signal.
* gnu/services/base.scm (%greetd-pam-mount-rules): Remove noexec.

Closes: guix/guix#5083
Change-Id: Iede81a8afecc8d7213e9eb101ac7eeec3bb9632b
2026-03-01 02:52:22 +01:00
Giacomo Leidi bfa4e179e2 services: Support list of strings for oci-container-configuration's entrypoint.
Dockerfile's ENTRYPOINT statement supports also a list of strings. This
patch implements this behavior for oci-container-configuration.

* oci/services/containers.scm (string-or-list-of-strings?): New
procedure.
(oci-container-configuration)[entrypoint]: Change field type to
maybe-string-or-list-of-strings.
(oci-container-configuration->options): Use it.
* doc/guix.texi: Document it.

Change-Id: I1c94dec79c9f4b2324225810a7926be251bfd795
Reviewed-by: Owen T. Heisler <writer@owenh.net>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-02-25 22:17:41 +00:00
Giacomo Leidi 9f976927fc services: Add gexp compiler for oci-image.
This commit allows oci-image records to be directly compiled to tarballs
file names when ungexeped, by means of a gexp compiler. It is supposed
to make the usage of oci-images in gexp smoother.

* oci/services/containers.scm (lower-manifest): Reformat and derive
tarball name from the image reference.
(lower-oci-image-state): Drop procedure and merge with lower-oci-image.
(oci-image-compiler): Implement in terms of lower-oci-image.
(oci-image-loader): Drop call to lower-oci-image and directly ungexp the
oci-image record.

Change-Id: I1755585a10294ad94c8025e7c35d454319174efc
Reviewed-by: Owen T. Heisler <writer@owenh.net>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-02-25 22:17:35 +00:00
Mathieu Lirzin e9cb964a5e gnu: rabbitmq-service-type: Extend profile-service-type.
* gnu/services/high-availability.scm (rabbitmq-service-type): Extend
profile-service-type.

Change-Id: I5946c7d00ad8dba2e11f7798d77b5fbb80d066ba
Reviewed-by: Nguyễn Gia Phong <cnx@loang.net>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-02-25 22:06:21 +00:00
Liliana Marie Prikler 1c7a4a564a services: pulseaudio: Use match-record-lambda.
* gnu/packages/sound.scm (pulseaudio-etc): Reimplement in terms of
match-record-lambda.
2026-02-25 13:32:34 +01:00
Rodion Goritskov 396a9451d4 services: Add configuration action to miniflux-service-type.
* gnu/services/web.scm (miniflux-shepherd-service): Add configuration action.
* gnu/tests/web.scm (run-miniflux-test): Add configuration action check.

Change-Id: I515653070cc0c39fcbe31fef19d8745a1a8d47cb
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2026-02-23 23:58:25 +00:00
Sughosha 4b8cfa7f69 services: readymedia: Run with a pid file.
* gnu/services/upnp.scm (%readymedia-default-pid-directory): New variable.
(%readymedia-pid-file): New procedure.
(readymedia-shepherd-service)[start]: Start with the pid file.
(readymedia-activation): Create the pid directory.
* gnu/tests/upnp.scm (run-readymedia-test): Test the pid directory and file.

Merges: https://codeberg.org/guix/guix/pulls/1007
Change-Id: I454a89d25afe0e9bb0414645b1e4594afdf89058
Signed-off-by: Giacomo Leidi <therewasa@fishinthecalculator.me>
2026-02-22 17:15:19 +01:00
Sughosha f19ddd6dfe services: readymedia: Fix configurations.
* gnu/services/upnp.scm (%readymedia-default-log-directory): Remove variable.
(%readymedia-default-log-file): New procedure.
(%readymedia-default-cache-directory): Turn it into a procedure.
(<readymedia-configuration>)[log-directory]: Remove field.
[log-file]: New field.
[cache-directory]: Set to %readymedia-default-cache-directory.
(readymedia-configuration->config-file): Remove "user" and "log_dir" fields.
(readymedia-shepherd-service)[modules]: Add (shepherd support).
[start]: Do not map the log-directory. For home services, do not wrap the
program with least-authority-wrapper.
(readymedia-activation): Do not create the log-directory.
* gnu/home/services/upnp.scm (%readymedia-cache-file, %readymedia-cache-path,
%readymedia-log-path): Remove variables.
(run-readymedia-test): Use the procedures properly. Do not test the
log directory. Test the log file.
* doc/guix.texi (Miscellaneous Services)[DLNA/UPnP Services]: Update doc.

Change-Id: I97d84b5287c374ddb26a495f20a36f986b0c142d
Signed-off-by: Giacomo Leidi <therewasa@fishinthecalculator.me>
2026-02-22 17:15:16 +01:00
Giacomo Leidi b657836863 gnu: postgresql-role: Avoid leaking passwords through kernel's command line facility.
The implementation of postgresql-role's password up until now relied on
spawining a subshell reading the password file and passing its content
via command line to a psql process which would create users and set
passwords. This allowed a (fast) attacker to eavesdrop, via the kernel
command line facility, the password while they were read,
without having the permissions required for reading the password
file.

This new implementation reads passwords directly from password files
into the Guile process, temporarily stores them in query files living in
a memory backed file system and deletes the query files after executing
them. It also makes sure to turn off logging of commands for the
duration of the password setting transaction, so passwords don't get
leaked to system logs through misconfiguration.

* gnu/services/databases.scm (%postgresql-role-runtime-dir): New
variable.
(postgresql-create-roles): Rework the way passwords are set to avoid
leaking them through subshells and command lines.
(%postgresql-role-file-systems): New variable.
(postgresql-role-service-type): Add file-system-service-type extension
point.

Change-Id: I52406d1d24f5d163081b5c21d3e1760fc0b67a1e
2026-02-11 10:57:06 +01:00