guix-commits
[Top][All Lists]
Advanced

[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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]