From bbc1735be26c56d443f96f9d2dac7cd4429478ef Mon Sep 17 00:00:00 2001 From: "(unmatched-parenthesis" Date: Sun, 21 Aug 2022 16:43:48 +0100 Subject: [PATCH] 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 --- guix/build/profiles.scm | 7 ++++--- guix/search-paths.scm | 11 +++++++++++ 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)