summary refs log tree commit diff
path: root/emacs
diff options
context:
space:
mode:
authorMathieu Lirzin <mthl@openmailbox.org>2015-08-06 11:36:53 +0200
committerMathieu Lirzin <mthl@openmailbox.org>2015-08-30 19:20:12 +0200
commitbd6163d13f6445b9a1ec0f85e4a19b9f73ab74ea (patch)
tree99396ace587f2c69c05882e88910fba37fb605fa /emacs
parenteb097f36b1c3e7a25f1ce212670e8a19788fd195 (diff)
downloadguix-bd6163d13f6445b9a1ec0f85e4a19b9f73ab74ea.tar.gz
build: Produce 'guix-config' instead of using compile-time tricks.
* emacs/guix-{init,profiles}.el.in: Rename to ...
* emacs/guix-{init,profiles}.el: ... these.  New files.
  Use 'guix-config'.
* emacs/guix-config.el.in: New file.
* emacs.am (nodist_lisp_DATA): Add it.  Move them to ...
  (ELFILES): ... here.
* .gitignore, configure.ac: Adjust accordingly.
Diffstat (limited to 'emacs')
-rw-r--r--emacs/guix-config.el.in31
-rw-r--r--emacs/guix-init.el (renamed from emacs/guix-init.el.in)4
-rw-r--r--emacs/guix-profiles.el (renamed from emacs/guix-profiles.el.in)4
3 files changed, 36 insertions, 3 deletions
diff --git a/emacs/guix-config.el.in b/emacs/guix-config.el.in
new file mode 100644
index 0000000000..8804f72357
--- /dev/null
+++ b/emacs/guix-config.el.in
@@ -0,0 +1,31 @@
+;;; guix-config.el --- Compile-time configuration of Guix.
+
+;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
+
+;; This file is part of GNU Guix.
+
+;; GNU Guix is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Guix is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Code:
+
+(defconst guix-emacs-interface-directory
+  (replace-regexp-in-string "${prefix}" "@prefix@" "@emacsuidir@"))
+
+(defconst guix-state-directory
+  ;; This must match `NIX_STATE_DIR' as defined in `daemon.am'.
+  (or (getenv "NIX_STATE_DIR") "@guix_localstatedir@/guix"))
+
+(provide 'guix-config)
+
+;;; guix-config.el ends here
diff --git a/emacs/guix-init.el.in b/emacs/guix-init.el
index 728bc375c2..6ea6fcd0b0 100644
--- a/emacs/guix-init.el.in
+++ b/emacs/guix-init.el
@@ -1,7 +1,7 @@
+(require 'guix-config)
 (require 'guix-autoloads)
 
-(defvar guix-load-path
-  (replace-regexp-in-string "${prefix}" "@prefix@" "@emacsuidir@")
+(defvar guix-load-path guix-emacs-interface-directory
   "Directory with scheme files for \"guix.el\" package.")
 
 (defcustom guix-package-enable-at-startup t
diff --git a/emacs/guix-profiles.el.in b/emacs/guix-profiles.el
index 1e43707b68..1a41745512 100644
--- a/emacs/guix-profiles.el.in
+++ b/emacs/guix-profiles.el
@@ -19,12 +19,14 @@
 
 ;;; Code:
 
+(require 'guix-config)
+
 (defvar guix-user-profile
   (expand-file-name "~/.guix-profile")
   "User profile.")
 
 (defvar guix-default-profile
-  (concat (or (getenv "NIX_STATE_DIR") "@guix_localstatedir@/guix")
+  (concat guix-state-directory
           "/profiles/per-user/"
           (getenv "USER")
           "/guix-profile")