aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-09-24 14:05:52 +0200
committerLudovic Courtès <ludo@gnu.org>2014-09-24 14:06:09 +0200
commit8689901f95499e98e0209e75b4f268bf2af325c1 (patch)
tree46345436a0991f5b15b5aee253f66743c0f3ffa5 /doc
parent300868ba57e3786dae399f3cac4fff39ad6c316f (diff)
downloadpatches-8689901f95499e98e0209e75b4f268bf2af325c1.tar
patches-8689901f95499e98e0209e75b4f268bf2af325c1.tar.gz
Introduce the 'GUIX_PACKAGE_PATH' environment variable.
* gnu/packages.scm (%package-module-path): Honor $GUIX_PACKAGE_PATH. * test-env.in: Unset 'GUIX_PACKAGE_PATH'. * tests/guix-package.sh: Test it. * doc/guix.texi (Package Modules): Document it.
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi13
1 files changed, 11 insertions, 2 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index bdba88e2e2..f73ce52c4c 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -3967,14 +3967,23 @@ object whose name is @code{emacs} is found. This package search
facility is implemented in the @code{(gnu packages)} module.
@cindex customization, of packages
+@cindex package module search path
Users can store package definitions in modules with different
names---e.g., @code{(my-packages emacs)}. These package definitions
will not be visible by default. Thus, users can invoke commands such as
@command{guix package} and @command{guix build} have to be used with the
@code{-e} option so that they know where to find the package, or use the
@code{-L} option of these commands to make those modules visible
-(@pxref{Invoking guix build, @code{--load-path}}). The latter makes it
-easy to customize the distribution.
+(@pxref{Invoking guix build, @code{--load-path}}), or define the
+@code{GUIX_PACKAGE_PATH} environment variable. This environment
+variable makes it easy to extend or customize the distribution and is
+honored by all the user interfaces.
+
+@defvr {Environment Variable} GUIX_PACKAGE_PATH
+This is a colon-separated list of directories to search for package
+modules. Directories listed in this variable take precedence over the
+distribution's own modules.
+@end defvr
The distribution is fully @dfn{bootstrapped} and @dfn{self-contained}:
each package is built based solely on other packages in the