diff options
author | William Carroll <wpcarro@gmail.com> | 2020-04-02T13·50+0100 |
---|---|---|
committer | William Carroll <wpcarro@gmail.com> | 2020-04-02T13·50+0100 |
commit | d12b8b3dcb97aa6365eca061a260b74b41bfd452 (patch) | |
tree | 6d2a0d4835a40e8073ee82304cb6e0a8899cef69 /emacs | |
parent | 86da482fbf70db696ffa047073e21040f1d9a432 (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.
Diffstat (limited to 'emacs')
-rw-r--r-- | emacs/.emacs.d/wpc/wpc-nix.el | 19 |
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." |