summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author(unmatched-parenthesis <paren@disroot.org>2022-08-21 16:43:48 +0100
committerEfraim Flashner <efraim@flashner.co.il>2022-09-07 11:30:31 +0300
commitbbc1735be26c56d443f96f9d2dac7cd4429478ef (patch)
tree6e2b14fb1f13bcc1fc065b52864ac051609d57ab
parent0321ceef08e53febe18a218fe355c4757560de0d (diff)
profiles: Implicitly set GUIX_EXTENSIONS_PATH.
* guix/build/profiles.scm (manifest-sexp->inputs+search-paths): Always return a search path for GUIX_EXTENSIONS_PATH. * guix/search-paths.scm ($GUIX_EXTENSIONS_PATH): New variable. This allows Guix to find extensions without any need for users to set GUIX_EXTENSIONS_PATH manually. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
-rw-r--r--guix/build/profiles.scm7
-rw-r--r--guix/search-paths.scm11
2 files changed, 15 insertions, 3 deletions
diff --git a/guix/build/profiles.scm b/guix/build/profiles.scm
index 0c92f222b4..b19d93f971 100644
--- a/guix/build/profiles.scm
+++ b/guix/build/profiles.scm
@@ -179,9 +179,10 @@ search path specifications."
(()
(values (reverse inputs)
(delete-duplicates
- (cons $PATH
- (map sexp->search-path-specification
- (reverse search-paths)))))))))))
+ (cons* $PATH
+ $GUIX_EXTENSIONS_PATH
+ (map sexp->search-path-specification
+ (reverse search-paths)))))))))))
(define* (build-profile output manifest
#:key (extra-inputs '()) (symlink symlink))
diff --git a/guix/search-paths.scm b/guix/search-paths.scm
index 6b13a98946..5a0cddac8f 100644
--- a/guix/search-paths.scm
+++ b/guix/search-paths.scm
@@ -33,6 +33,7 @@
search-path-specification-file-pattern
$PATH
+ $GUIX_EXTENSIONS_PATH
$SSL_CERT_DIR
$SSL_CERT_FILE
@@ -73,6 +74,16 @@
(variable "PATH")
(files '("bin" "sbin"))))
+(define-public $GUIX_EXTENSIONS_PATH
+ ;; 'GUIX_EXTENSIONS_PATH' is used by Guix to locate extension commands.
+ ;; Like 'PATH', it's not attached to any package, so that users don't have
+ ;; to install the 'guix' package (which is not supposed to be installed,
+ ;; as it will mess up the 'guix pull' installation) or set the variable
+ ;; manually.
+ (search-path-specification
+ (variable "GUIX_EXTENSIONS_PATH")
+ (files '("share/guix/extensions"))))
+
;; Two variables for certificates (see (guix)X.509 Certificates),
;; respected by 'openssl', possibly GnuTLS in the future
;; (https://gitlab.com/gnutls/gnutls/-/merge_requests/1541)