about summary refs log tree commit diff
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2020-04-02T13·50+0100
committerWilliam Carroll <wpcarro@gmail.com>2020-04-02T13·50+0100
commitd12b8b3dcb97aa6365eca061a260b74b41bfd452 (patch)
tree6d2a0d4835a40e8073ee82304cb6e0a8899cef69
parent86da482fbf70db696ffa047073e21040f1d9a432 (diff)
Build either emacs.{glinux,nixos} depending on my current device
`M-x nix/rebuild-emacs` will build either emacs.glinux or emacs.nixos depending
on whether I'm using a work device or a personal device.
-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."