bin/doom: set user-emacs-directory
Fixes an issue where bin/doom wasn't running from the emacs config it was located in.
This commit is contained in:
parent
b3c9abfc39
commit
e6c3a012e8
1 changed files with 12 additions and 9 deletions
21
bin/doom
21
bin/doom
|
@ -10,6 +10,11 @@
|
||||||
":"; exec $EMACS --script "$0" -- "$@"
|
":"; exec $EMACS --script "$0" -- "$@"
|
||||||
":"; exit 0
|
":"; exit 0
|
||||||
|
|
||||||
|
(setq user-emacs-directory
|
||||||
|
(or (getenv "EMACSDIR")
|
||||||
|
(expand-file-name "../" (file-name-directory (file-truename load-file-name)))))
|
||||||
|
|
||||||
|
|
||||||
(defun usage ()
|
(defun usage ()
|
||||||
(with-temp-buffer
|
(with-temp-buffer
|
||||||
(insert (format! "%s %s [COMMAND] [ARGS...]\n"
|
(insert (format! "%s %s [COMMAND] [ARGS...]\n"
|
||||||
|
@ -42,9 +47,7 @@
|
||||||
(doom--dispatch-help))
|
(doom--dispatch-help))
|
||||||
|
|
||||||
;;
|
;;
|
||||||
(let ((args (cdr (cdr (cdr command-line-args))))
|
(let ((args (cdr (cdr (cdr command-line-args)))))
|
||||||
(emacs-dir (or (getenv "EMACSDIR")
|
|
||||||
(expand-file-name "../" (file-name-directory (file-truename load-file-name))))))
|
|
||||||
;; Parse options
|
;; Parse options
|
||||||
(while (ignore-errors (string-prefix-p "-" (car args)))
|
(while (ignore-errors (string-prefix-p "-" (car args)))
|
||||||
(pcase (pop args)
|
(pcase (pop args)
|
||||||
|
@ -68,17 +71,17 @@
|
||||||
(setenv "DOOMLOCALDIR" doom-local-dir)
|
(setenv "DOOMLOCALDIR" doom-local-dir)
|
||||||
(message "DOOMLOCALDIR changed to %s" doom-local-dir))
|
(message "DOOMLOCALDIR changed to %s" doom-local-dir))
|
||||||
((or "-e" "--emacsd")
|
((or "-e" "--emacsd")
|
||||||
(setq emacs-dir (expand-file-name (concat (pop args) "/")))
|
(setq user-emacs-directory (expand-file-name (concat (pop args) "/")))
|
||||||
(message "Emacs directory changed to %s" emacs-dir))
|
(message "Emacs directory changed to %s" user-emacs-directory))
|
||||||
((or "-y" "--yes")
|
((or "-y" "--yes")
|
||||||
(setenv "YES" "1")
|
(setenv "YES" "1")
|
||||||
(message "Auto-yes mode on"))))
|
(message "Auto-yes mode on"))))
|
||||||
|
|
||||||
(unless (file-directory-p emacs-dir)
|
(unless (file-directory-p user-emacs-directory)
|
||||||
(error "%s does not exist" emacs-dir))
|
(error "%s does not exist" user-emacs-directory))
|
||||||
|
|
||||||
;; Bootstrap Doom
|
;; Bootstrap Doom
|
||||||
(load (expand-file-name "core/core.el" emacs-dir)
|
(load (expand-file-name "core/core.el" user-emacs-directory)
|
||||||
nil 'nomessage)
|
nil 'nomessage)
|
||||||
|
|
||||||
(doom-initialize 'force-p)
|
(doom-initialize 'force-p)
|
||||||
|
@ -93,7 +96,7 @@
|
||||||
(print! (error "No command detected.\n"))
|
(print! (error "No command detected.\n"))
|
||||||
(usage))
|
(usage))
|
||||||
((require 'core-cli)
|
((require 'core-cli)
|
||||||
(let ((default-directory emacs-dir))
|
(let ((default-directory user-emacs-directory))
|
||||||
(setq argv nil)
|
(setq argv nil)
|
||||||
(condition-case e
|
(condition-case e
|
||||||
(doom-dispatch (car args) (cdr args))
|
(doom-dispatch (car args) (cdr args))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue