summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-05-02 19:50:45 +0200
committerLudovic Courtès <ludo@gnu.org>2018-05-10 14:53:57 +0200
commit54fd5ad0a5da92a35056a72021174234913fe10f (patch)
treefd88ee55128368ff64bf6796c0a6e0a1c77f65ab
parent3636b1c7fed295446652de4fd1376f0ab37705f3 (diff)
search-paths: Add 'set-search-paths'.
* guix/search-paths.scm (set-search-paths): New procedure.
-rw-r--r--guix/search-paths.scm15
1 files changed, 13 insertions, 2 deletions
diff --git a/guix/search-paths.scm b/guix/search-paths.scm
index 4bf0e44389..002e6342bb 100644
--- a/guix/search-paths.scm
+++ b/guix/search-paths.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -38,7 +38,8 @@
string-tokenize*
evaluate-search-paths
environment-variable-definition
- search-path-definition))
+ search-path-definition
+ set-search-paths))
;;; Commentary:
;;;
@@ -196,4 +197,14 @@ prefix/suffix."
#:kind kind
#:separator separator))))
+(define* (set-search-paths search-paths directories
+ #:key (setenv setenv))
+ "Set the search path environment variables specified by SEARCH-PATHS for the
+given directories."
+ (for-each (match-lambda
+ ((spec . value)
+ (setenv (search-path-specification-variable spec)
+ value)))
+ (evaluate-search-paths search-paths directories)))
+
;;; search-paths.scm ends here