summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vkraus/services/guix-wot.scm30
1 files changed, 18 insertions, 12 deletions
diff --git a/vkraus/services/guix-wot.scm b/vkraus/services/guix-wot.scm
index ecc5093..5b53f9c 100644
--- a/vkraus/services/guix-wot.scm
+++ b/vkraus/services/guix-wot.scm
@@ -66,15 +66,18 @@
;; openssh server to use.
(match-lambda
(($ <guix-system-wot-configuration> users key-servers)
- (apply invoke
- `(,(run-with-store (open-connection) (package-file gnupg "/bin/gpg"))
- ,@(apply append
- (map
- (lambda (key-server)
- `("--keyserver" ,key-server))
- key-servers))
- "--recv-key"
- ,@(map cdr users)))
+ (run-with-store
+ (open-connection)
+ (mlet %store-monad ((gpg (package-file gnupg "/bin/gpg")))
+ (apply invoke
+ `(,gpg
+ ,@(apply append
+ (map
+ (lambda (key-server)
+ `("--keyserver" ,key-server))
+ key-servers))
+ "--recv-key"
+ ,@(map cdr users)))))
(par-map
(match-lambda
((user . fingerprint)
@@ -84,9 +87,12 @@
(lambda (exn)
(format (current-error-port) "Warning: no SSH key exported for ~a ~a: ~a.\n" user fingerprint exn))
(lambda ()
- (invoke (run-with-store (open-connection) (package-file gnupg "/bin/gpg"))
- "-o" (port-filename port)
- "--export-ssh-key" fingerprint))
+ (run-with-store
+ (open-connection)
+ (mlet %store-monad ((gpg (package-file gnupg "/bin/gpg")))
+ (invoke gpg
+ "-o" (port-filename port)
+ "--export-ssh-key" fingerprint))))
#:unwind? #t)
(let ((interned
(plain-file (format #f "user-key-file-~a" fingerprint)