aboutsummaryrefslogtreecommitdiff
path: root/gnu/services/base.scm
diff options
context:
space:
mode:
authorJosselin Poiret <dev@jpoiret.xyz>2023-04-24 21:59:03 +0200
committerLudovic Courtès <ludo@gnu.org>2023-04-30 23:11:05 +0200
commit9f09903aff038533450a134a3c12e0e3e29c4ce6 (patch)
treedcec1bfd55f5038dfd15ebd1312f08d9dd5080f0 /gnu/services/base.scm
parent03856dce4ed1d3f76978f7e88bbf2012a4539d1b (diff)
downloadguix-9f09903aff038533450a134a3c12e0e3e29c4ce6.tar
guix-9f09903aff038533450a134a3c12e0e3e29c4ce6.tar.gz
system: guix: Use config's ACL file location.
* gnu/services/base.scm (substitute-key-authorization): Use %acl-file instead of hardcoded "/etc/guix/acl". Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/services/base.scm')
-rw-r--r--gnu/services/base.scm17
1 files changed, 9 insertions, 8 deletions
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index e8eae72aa2..4adb551796 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -83,6 +83,7 @@
#:use-module (guix gexp)
#:use-module (guix records)
#:use-module (guix modules)
+ #:use-module (guix pki)
#:use-module ((guix self) #:select (make-config.scm))
#:use-module (guix diagnostics)
#:use-module (guix i18n)
@@ -1727,19 +1728,19 @@ archive' public keys, with GUIX."
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
-
+ (define acl-file #$%acl-file)
;; If the ACL already exists, move it out of the way. Create a backup
;; if it's a regular file: it's likely that the user manually updated
;; it with 'guix archive --authorize'.
- (if (file-exists? "/etc/guix/acl")
- (if (and (symbolic-link? "/etc/guix/acl")
- (store-file-name? (readlink "/etc/guix/acl")))
- (delete-file "/etc/guix/acl")
- (rename-file "/etc/guix/acl" "/etc/guix/acl.bak"))
- (mkdir-p "/etc/guix"))
+ (if (file-exists? acl-file)
+ (if (and (symbolic-link? acl-file)
+ (store-file-name? (readlink acl-file)))
+ (delete-file acl-file)
+ (rename-file acl-file (string-append acl-file ".bak")))
+ (mkdir-p (dirname acl-file)))
;; Installed the declared ACL.
- (symlink #+default-acl "/etc/guix/acl"))))
+ (symlink #+default-acl acl-file))))
(define %default-authorized-guix-keys
;; List of authorized substitute keys.