summaryrefslogtreecommitdiff
path: root/gnu/system
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/system')
-rw-r--r--gnu/system/install.scm13
1 files changed, 11 insertions, 2 deletions
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 20960e62b3..c71a533c8e 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -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