diff --git a/emacs/.emacs.d/wpc/bookmark.el b/emacs/.emacs.d/wpc/bookmark.el index 3b5312819..c0c41b5b4 100644 --- a/emacs/.emacs.d/wpc/bookmark.el +++ b/emacs/.emacs.d/wpc/bookmark.el @@ -21,6 +21,7 @@ (require 'list) (require 'string) (require 'set) +(require 'constants) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Constants @@ -60,7 +61,7 @@ Otherwise, open with `counsel-find-file'." :path "~/depot" :kbd "t") (make-bookmark :label "briefcase" - :path (getenv "BRIEFCASE") + :path constants/briefcase :kbd "b") (make-bookmark :label "current project" :path constants/current-project diff --git a/emacs/.emacs.d/wpc/constants.el b/emacs/.emacs.d/wpc/constants.el index e29430841..50b6cf888 100644 --- a/emacs/.emacs.d/wpc/constants.el +++ b/emacs/.emacs.d/wpc/constants.el @@ -13,19 +13,24 @@ (require 'prelude) (require 'f) +(prelude/assert (f-exists? (getenv "BRIEFCASE"))) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Configuration ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(defconst constants/briefcase + (getenv "BRIEFCASE") + "Path to my monorepo, which various parts of my configuration rely on.") + ;; TODO: Consider merging `ui.el' and `misc.el' because those are the only ;; current consumers of these constants, and I'm unsure if the indirection that ;; globally defined constants introduces is worth it. -(defconst constants/current-project "~/briefcase" +(defconst constants/current-project + constants/briefcase "Variable holding the directory for my currently active project.") -(prelude/assert (f-directory? constants/current-project)) - (defconst constants/mouse-kbds '([mouse-1] [down-mouse-1] [drag-mouse-1] [double-mouse-1] [triple-mouse-1] [mouse-2] [down-mouse-2] [drag-mouse-2] [double-mouse-2] [triple-mouse-2] diff --git a/emacs/.emacs.d/wpc/wpc-misc.el b/emacs/.emacs.d/wpc/wpc-misc.el index 5b21ec410..897f0e56e 100644 --- a/emacs/.emacs.d/wpc/wpc-misc.el +++ b/emacs/.emacs.d/wpc/wpc-misc.el @@ -13,6 +13,7 @@ (require 'project) (require 'f) (require 'dash) +(require 'constants) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Configuration @@ -180,10 +181,11 @@ ;; trim whitespace on save (add-hook 'before-save-hook #'delete-trailing-whitespace) -;; call `git secret hide` after saving ~/briefcase/secrets.json +;; call `git secret hide` after saving secrets.json (add-hook 'after-save-hook (lambda () - (when (f-equal? (buffer-file-name) "~/briefcase/secrets.json") + (when (f-equal? (buffer-file-name) + (f-join constants/briefcase "secrets.json")) (shell-command "git secret hide")))) ;; use tabs instead of spaces @@ -207,7 +209,7 @@ (defun project-find-function--briefcase (dir) "Find the nearest default.nix file; otherwise, terminate at the .git directory." - (when (s-starts-with? (getenv "BRIEFCASE") (f-expand dir)) + (when (s-starts-with? constants/briefcase (f-expand dir)) (if (f-exists? (f-join dir "default.nix")) (cons 'transient dir) (project-find-function--briefcase (f-parent dir))))) diff --git a/emacs/.emacs.d/wpc/wpc-nix.el b/emacs/.emacs.d/wpc/wpc-nix.el index 11cf7d9b1..0967473dd 100644 --- a/emacs/.emacs.d/wpc/wpc-nix.el +++ b/emacs/.emacs.d/wpc/wpc-nix.el @@ -9,8 +9,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'device) - -(prelude/assert (f-exists? (getenv "BRIEFCASE"))) +(require 'constants) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Library @@ -28,7 +27,7 @@ (bname (format "*%s*" pname))) (start-process pname bname "nix-env" - "-I" (format "briefcase=%s" (getenv "BRIEFCASE")) + "-I" (format "briefcase=%s" constants/briefcase) "-f" "" "-iA" emacs) (display-buffer bname)))