summary refs log tree commit diff
diff options
context:
space:
mode:
authorKyle Meyer <kyle@kyleam.com>2017-07-27 01:01:26 -0400
committerAlex Kost <alezost@gmail.com>2017-07-29 23:19:17 +0300
commit24b115dff570948f88bfd67179055097bcf875ff (patch)
treea0761336f83fbaed47cb6495b53b8a1c48881934
parentd0a5205292a24f350522bf461582cac5242f0cfa (diff)
downloadguix-24b115dff570948f88bfd67179055097bcf875ff.tar.gz
gnu: emacs: Check GUIX_ENVIRONMENT when autoloading packages.
Check the environment profile so that we autoload packages that are given as
arguments to "guix environment" but are not in the system or user profile.
Note that the union of Emacs packages in the system, user, and environment
profiles will be autoloaded even when --pure was passed to "guix environment",
because it's not clear how to detect that --pure was given.

* gnu/packages/aux-files/emacs/guix-emacs.el (guix-emacs-autoload-packages):
Add Emacs packages from GUIX_ENVIRONMENT profile.

Signed-off-by: Alex Kost <alezost@gmail.com>
-rw-r--r--gnu/packages/aux-files/emacs/guix-emacs.el9
1 files changed, 6 insertions, 3 deletions
diff --git a/gnu/packages/aux-files/emacs/guix-emacs.el b/gnu/packages/aux-files/emacs/guix-emacs.el
index 2bbd639ffd..9a49e8861c 100644
--- a/gnu/packages/aux-files/emacs/guix-emacs.el
+++ b/gnu/packages/aux-files/emacs/guix-emacs.el
@@ -1,6 +1,7 @@
 ;;; guix-emacs.el --- Emacs packages installed with Guix
 
 ;; Copyright © 2014, 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
+;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com>
 
 ;; This file is part of GNU Guix.
 
@@ -87,9 +88,11 @@ profiles.
   (interactive (list (if (fboundp 'guix-read-package-profile)
                          (funcall 'guix-read-package-profile)
                        guix-user-profile)))
-  (let ((profiles (or profiles
-                      (list "/run/current-system/profile"
-                            guix-user-profile))))
+  (let* ((env      (getenv "GUIX_ENVIRONMENT"))
+         (profiles (or profiles
+                       (append (list "/run/current-system/profile"
+                                     guix-user-profile)
+                               (and env (list env))))))
     (dolist (profile profiles)
       (let ((dirs (guix-emacs-directories profile)))
         (when dirs