[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/02: profiles: Implicitly set GUIX_EXTENSIONS_PATH.
From: |
guix-commits |
Subject: |
01/02: profiles: Implicitly set GUIX_EXTENSIONS_PATH. |
Date: |
Wed, 7 Sep 2022 04:45:42 -0400 (EDT) |
efraim pushed a commit to branch master
in repository guix.
commit bbc1735be26c56d443f96f9d2dac7cd4429478ef
Author: (unmatched-parenthesis <paren@disroot.org>
AuthorDate: Sun Aug 21 16:43:48 2022 +0100
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>
---
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)