services: <greetd-terminal-configuration>: Default initial-session-command to (greetd-user-session).
* gnu/services/base.scm (<greetd-terminal-configuration>)[initial-session-command]:
Default to (greetd-user-session).
services: radicale: add shepherd configuration action
* gnu/services/mail.scm (radicale-shepherd-service): add configuration
action.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
services: configuration: Generalize 'list-of-packages?'
* gnu/services/configuration.scm (list-of-packages?): Allow as well
tuples of a package and its output.
* gnu/home/services/sway.scm (list-of-packages): Remove duplicate.
Change-Id: I42622a29ac808c76928e9056dee9330d5e1b3f39
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #5470
services: Add opensnitch-service.
* gnu/services/opensnitch.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add reference to it.
* doc/guix.texi (Miscellaneous Services, Security): Document it.
* gnu/tests/security.scm (%test-opensnitch): New variable.
Change-Id: I63d1b6636b3aaecf399664ec97383d82ff1391d1
services: Add luanti-service-type.
* gnu/services/games.scm (luanti-configuration): New variable.
(%luanti-account): Likewise.
(luanti-activation): New procedure.
(luanti-shepherd-service): Likewise.
(luanti-service-type): New variable.
* gnu/tests/games.scm: New file.
Change-Id: I65a1dcf832fa8add9c9d278d82bab91ca3eef086
Reviewed-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
gnu: services: Fix xorg configuration merging.
A bug in #21 causes the default configuration to be omitted from the xorg
merging process. This can cause users not using set-xorg-configuration or
service extensions to end up with a broken configuration.
Fixes #5267.
* tests/services/xorg.scm: Add a regression test.
* gnu/services/xorg.scm (handle-xorg-configuration): Include the
xorg-configuration record from config in merges.
Change-Id: I6bed8c109057cb9b5de36db68b78e3ccc88e6bcb
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
gnu: Merge xorg configurations when extending.
Configuration for xorg is embedded in the various display-manager
configuration records, and extension support is factored out into the
`handle-xorg-configuration' macro. However, the extension mechanism replaces
the existing xorg-configuration with the supplied one, making it impossible to
compose configuration from multiple sources. This patch adds a procedure to
merge two xorg-configuration records, and calls it within
handle-xorg-configuration, allowing the config to be built piecemeal.
* gnu/services/xorg.scm (merge-xorg-configurations): New variable.
(handle-xorg-configuration): Merge xorg configs.
Change-Id: I20e9db911eef5d4efe98fdf382f3084e4defc1ba
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
services: greetd: Create runfiles in a tmpfs.
Greetd's initial-session (i.e. auto-login) functionality requires runfiles
to be deleted on shutdown. Use a tmpfs to ensure said runfiles do not linger.
* gnu/services/base.scm (make-greetd-terminal-configuration-file): Add
“runfile” to configuration.
(%greetd-file-systems): Add a tmpfs for “/run/greetd/runfiles”.
Change-Id: I07319d5d8bdb1e18fb0074b67d5c9cb9fb49b04a
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
services: cuirass-remote-worker: Disable JIT on AArch64.
* gnu/services/cuirass.scm (cuirass-remote-worker-shepherd-service):
Pass #:environment-variables to ‘make-forkexec-constructor’.
Fixes: guix/guix#5052
Change-Id: Ibbf5aae9c6e62983c8e7f2eda310f68aef2edc8b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #5053
Merge branch 'version-1.5.0'
Change-Id: I5a36bbdb772c88f71fbe612cf6c445c34088e35c
services: xorg: Return only supported packages in %default-xorg-modules.
The xorg modules are used inside of services that's thunked. So we can
make them depend on the %current-system.
* gnu/services/xorg.scm
(default-xorg-modules): New variable.
(%default-xorg-modules): Return result of (default-xorg-modules).
Change-Id: I10f722e52d598ce3e83ef3f200b3bd953bc08e17
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
services: Modernize redis service.
* gnu/services/databases.scm
(redis-configuration): Rewrite using `define-configuration'.
(redis-shepherd-service): Honor it.
* doc/guix.texi (Database Services) <redis>: Regenerate
documentation.
Change-Id: I5b99822ca3d8d23fb5133497d00eada0336d0c65
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #2158
services: shared-cache: Require user-file-systems.
Newly user-file-systems should be required by services
that do operations with mounts.
Change-Id: Ib0438bb2e783e1d7131dcea6a8c166e83850de81
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
services: file-systems: Reverse order of unmounting manual mounts.
* gnu/services/base.scm (file-system-shepherd-services): Reverse order of
mount-points in service 'user-file-systems.
Change-Id: I68df0c22bc6bacdc866b9adf62e7059f20e5842f
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
services: file-systems: Make user-file-systems depend on file-systems.
Previously 'user-file-systems depended only on 'file-systems without any requirements.
This inverts the logic to have
file-systems <- user-file-systems <- user-processes
to ensure that all user mounts are already unmounted when shepherd managed
file systems get unmounted.
Fixes: guix/guix#4445
Fixes: guix/guix#1703
* gnu/services/base.scm (file-system-shepherd-services): Remove requirement
of 'file-systems on 'user-file-systems.
Add dependency of 'user-file-systems on 'file-systems.
(file-system-service-type): Add 'user-file-systems to user-processes extension.
Change-Id: I9d89f682fb4b4673fa135d17b2b188788b9f8db1
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
services: xfce: Allow empty passwords in screenlocker.
* gnu/services/desktop.scm
(xfce-desktop-configuration): Add allow-empty-passwords? field.
(xfce-pam-services): Respect it.
Change-Id: Idd54b6016b5412aacdfbc134bc57de30394a77ad
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
services: nscd: Cause PID 1 to drop nscd database mappings on shutdown.
Partly fixes guix/guix#4269.
Fixes a bug whereby shepherd (PID 1) could retain memory mappings for
/var/run/nscd/dbXXX, which are created by glibc’s NSS from database file
descriptors sent by nscd. Those mappings could then prevent
‘root-file-system’ from re-mounting the root file system as read-write.
This change causes PID 1 to drop these mappings.
PID 1 typically calls libc database functions such as ‘getgr’ when dealing
with AF_UNIX endpoints for socket-activated services, to look up the socket’s
owner and group. This is where the bug would manifest.
The regression may have been introduced by
85ac164c41fc4c93d3cb2a5d3321c63598c2855f, which caused nscd to handle the
password and group databases.
* gnu/services/base.scm (nscd-shepherd-service): In ‘stop’ procedure, call
‘getpw’, ‘getgr’, and ‘getaddrinfo’.
* gnu/tests/base.scm (run-root-unmount-test) <"open libc NSS database">: New
test.
(%test-root-unmount): Add #:imported-modules.
Change-Id: I197cc8c82165c631f857415898137412ce9bd439
Reported-by: Rutherther <rutherther@ditigal.xyz>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4828
gnu: ipfs-configuration: Update deprecated default value.
* gnu/services/networking.scm (<ipfs-configuration>): Replace go-ipfs
by kubo.
Change-Id: Iba127e5e06e00dd7bb1ff5901fdfa9b2ff075e9d
services: postgres: Return #f on stop.
Shepherd expects #f to know the service has stopped.
* gnu/services/databases.scm (postgresql-shepherd-service): Return #f
on stop.
Change-Id: Ie5c45efc7eef75c325ddfd0ef197b306c7b60e5b
Signed-off-by: Rutherther <rutherther@ditigal.xyz>