about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--emacs/.emacs.d/wpc/wpc-nix.el19
1 files changed, 12 insertions, 7 deletions
diff --git a/emacs/.emacs.d/wpc/wpc-nix.el b/emacs/.emacs.d/wpc/wpc-nix.el
index 1060645bb56c..b67a0f80f95d 100644
--- a/emacs/.emacs.d/wpc/wpc-nix.el
+++ b/emacs/.emacs.d/wpc/wpc-nix.el
@@ -8,6 +8,8 @@
 ;; Dependencies
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
+(require 'device)
+
 ;; TODO: These may fail at startup. How can I make sure that the .envrc is
 ;; consulted when Emacs starts?
 (prelude/assert (f-exists? (getenv "BRIEFCASE")))
@@ -24,13 +26,16 @@
 (defun nix/rebuild-emacs ()
   "Use nix-env to rebuild wpcarros-emacs."
   (interactive)
-  (start-process "nix-build/<briefcase/emacs>" "*nix-build/<briefcase/emacs>*"
-                 "nix-env"
-                 "-I" (format "nixpkgs=%s" (f-expand "~/nixpkgs"))
-                 "-I" (format "depot=%s" (f-expand "~/depot"))
-                 "-I" (format "briefcase=%s" (f-expand "~/briefcase"))
-                 "-f" "<briefcase>" "-iA" "emacs")
-  (display-buffer "*nix-build/<briefcase/emacs>*"))
+  (let* ((emacs (if (device/corporate?) "emacs.glinux" "emacs.nixos"))
+         (pname (format "nix-build <briefcase/%s>" emacs))
+         (bname (format "*%s*" pname)))
+    (start-process pname bname
+                   "nix-env"
+                   "-I" (format "nixpkgs=%s" (f-expand "~/nixpkgs"))
+                   "-I" (format "depot=%s" (f-expand "~/depot"))
+                   "-I" (format "briefcase=%s" (f-expand "~/briefcase"))
+                   "-f" "<briefcase>" "-iA" emacs)
+    (display-buffer bname)))
 
 (defun nix/home-manager-switch ()
   "Use Nix to reconfigure the user environment."