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.
This commit is contained in:
		
							parent
							
								
									86da482fbf
								
							
						
					
					
						commit
						d12b8b3dcb
					
				
					 1 changed files with 12 additions and 7 deletions
				
			
		|  | @ -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>*" | ||||
|   (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 "*nix-build/<briefcase/emacs>*")) | ||||
|                    "-f" "<briefcase>" "-iA" emacs) | ||||
|     (display-buffer bname))) | ||||
| 
 | ||||
| (defun nix/home-manager-switch () | ||||
|   "Use Nix to reconfigure the user environment." | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue