services: rootless-podman-service-type: Allow not installing podman.

Sometimes you would want to skip on actually installing the podman package in
order to save disk space and bandwidth.  Even without installing it globally,
podman can still be fetched via guix shell when required.

* gnu/services/containers.scm (package-or-#f?): New procedure.
(rootless-podman-configuration)<podman>: Change type to package-or-#f.
(rootless-podman-service-profile): Produce empty list if not podman package.
* doc/guix.texi (Miscellaneous Services): Document the change.

Change-Id: If533d913ea190558ce7e206d98ada4d805270594
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Tomas Volf 2024-12-19 01:11:03 +01:00 committed by Ludovic Courtès
parent c62d5e77e7
commit cc58b52e15
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
2 changed files with 11 additions and 5 deletions

View file

@ -41424,8 +41424,9 @@ BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues"
Available @code{rootless-podman-configuration} fields are:
@table @asis
@item @code{podman} (default: @code{podman}) (type: package)
@item @code{podman} (default: @code{podman}) (type: package-or-#f)
The Podman package that will be installed in the system profile.
Pass @code{#f} to not install Podman.
@item @code{group-name} (default: @code{"cgroup"}) (type: string)
The name of the group that will own /sys/fs/cgroup resources. Users that

View file

@ -64,10 +64,15 @@ (define list-of-pam-limits-entries?
(define list-of-subid-ranges?
(list-of subid-range?))
(define (package-or-#f? val)
(or (not val)
(package? val)))
(define-configuration/no-serialization rootless-podman-configuration
(podman
(package podman)
"The Podman package that will be installed in the system profile.")
(package-or-#f podman)
"The Podman package that will be installed in the system profile.
@code{#f} can be passed to suppress the installation.")
(group-name
(string "cgroup")
"The name of the group that will own /sys/fs/cgroup resources. Users that
@ -107,8 +112,8 @@ (define-configuration/no-serialization rootless-podman-configuration
(define rootless-podman-service-profile
(lambda (config)
(list
(rootless-podman-configuration-podman config))))
(or (and=> (rootless-podman-configuration-podman config) list)
(list))))
(define rootless-podman-service-etc
(lambda (config)