install: Adjust for (package-source guix) not being a <channel>.

Fixes guix/guix#422.

* gnu/system/install.scm (%installation-services)[guix-package-commit]:
New procedure.
<guix-configuration>: Use it instead of ‘channel-commit’.

Change-Id: I6ed5bc3f21a375e639fabfcbcdaf70b6347d1c5c
This commit is contained in:
Ludovic Courtès 2025-06-04 12:51:33 +02:00
parent 1cd221c9e9
commit 871f09b6f7
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -33,6 +33,7 @@
#:use-module (guix store)
#:use-module (guix modules)
#:use-module ((guix packages) #:select (package-version supported-package?))
#:autoload (guix channels) (channel? channel-commit)
#:use-module (guix platform)
#:use-module (guix utils)
#:use-module (guix packages)
@ -353,6 +354,15 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
(define bare-bones-os
(load "examples/bare-bones.tmpl"))
(define (guix-package-commit guix)
;; Extract the commit of the GUIX package.
(match (package-source guix)
((? channel? source)
(channel-commit source))
(_
(apply (lambda* (#:key commit #:allow-other-keys) commit)
(package-arguments guix)))))
(append
;; Generic services
(list (service virtual-terminal-service-type)
@ -403,8 +413,7 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
;; Do not leak the local checkout URL.
(source (channel
(inherit %default-guix-channel)
(commit (channel-commit
(package-source guix))))))))))
(commit (guix-package-commit guix)))))))))
;; Start udev so that useful device nodes are available.
;; Use device-mapper rules for cryptsetup & co; enable the CRDA for