services: guix: Use "match-record" in activation.

It's more explicit to specify used fields instead of depending on their
position.

* gnu/services/base.scm (guix-activation): Replace "match" with
  "match-record".
This commit is contained in:
Brice Waegeneire 2021-07-17 14:39:56 +02:00
parent d0cc63ccc5
commit 92605326ae
No known key found for this signature in database
GPG key ID: A94903A166A18FAE

View file

@ -12,7 +12,7 @@
;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 qblade <qblade@protonmail.com>
;;; Copyright © 2021 Hui Lu <luhuins@163.com>
;;;
@ -1700,21 +1700,21 @@ (define (guix-accounts config)
(define (guix-activation config)
"Return the activation gexp for CONFIG."
(match config
(($ <guix-configuration> guix build-group build-accounts authorize-key? keys)
;; Assume that the store has BUILD-GROUP as its group. We could
;; otherwise call 'chown' here, but the problem is that on a COW overlayfs,
;; chown leads to an entire copy of the tree, which is a bad idea.
(match-record config <guix-configuration>
(guix authorize-key? authorized-keys)
#~(begin
;; Assume that the store has BUILD-GROUP as its group. We could
;; otherwise call 'chown' here, but the problem is that on a COW overlayfs,
;; chown leads to an entire copy of the tree, which is a bad idea.
;; Generate a key pair and optionally authorize substitute server keys.
#~(begin
(unless (file-exists? "/etc/guix/signing-key.pub")
(system* #$(file-append guix "/bin/guix") "archive"
"--generate-key"))
;; Generate a key pair and optionally authorize substitute server keys.
(unless (file-exists? "/etc/guix/signing-key.pub")
(system* #$(file-append guix "/bin/guix") "archive"
"--generate-key"))
#$(if authorize-key?
(substitute-key-authorization keys guix)
#~#f)))))
#$(if authorize-key?
(substitute-key-authorization authorized-keys guix)
#~#f))))
(define* (references-file item #:optional (name "references"))
"Return a file that contains the list of references of ITEM."