Refactor doom core files
This commit is contained in:
parent
49e6e68a07
commit
57579b883b
7 changed files with 86 additions and 84 deletions
|
@ -78,15 +78,15 @@ fundamental-mode) for performance sake."
|
|||
|
||||
(electric-indent-mode -1) ; enabled by default in Emacs 25+. No thanks.
|
||||
|
||||
;; revert buffers for changed files
|
||||
(def-package! autorevert
|
||||
;; revert buffers for changed files
|
||||
:after-call after-find-file
|
||||
:config
|
||||
(setq auto-revert-verbose nil)
|
||||
(global-auto-revert-mode +1))
|
||||
|
||||
;; persist variables across sessions
|
||||
(def-package! savehist
|
||||
;; persist variables across sessions
|
||||
:defer 1
|
||||
:after-call post-command-hook
|
||||
:config
|
||||
|
@ -105,8 +105,8 @@ savehist file."
|
|||
else if item collect it)))
|
||||
(add-hook 'kill-emacs-hook #'doom|unpropertize-kill-ring))
|
||||
|
||||
;; persistent point location in buffers
|
||||
(def-package! saveplace
|
||||
;; persistent point location in buffers
|
||||
:after-call (after-find-file dired-initial-position-hook)
|
||||
:config
|
||||
(setq save-place-file (concat doom-cache-dir "saveplace"))
|
||||
|
@ -117,8 +117,8 @@ savehist file."
|
|||
:after-while #'doom*recenter-on-load-saveplace)
|
||||
(save-place-mode +1))
|
||||
|
||||
;; Keep track of recently opened files
|
||||
(def-package! recentf
|
||||
;; Keep track of recently opened files
|
||||
:defer 1
|
||||
:after-call after-find-file
|
||||
:commands recentf-open-files
|
||||
|
@ -152,9 +152,9 @@ savehist file."
|
|||
;;
|
||||
;; Packages
|
||||
|
||||
;; Auto-close delimiters and blocks as you type. It's more powerful than that,
|
||||
;; but that is all Doom uses it for.
|
||||
(def-package! smartparens
|
||||
;; Auto-close delimiters and blocks as you type. It's more powerful than that,
|
||||
;; but that is all Doom uses it for.
|
||||
:after-call (doom-exit-buffer-hook after-find-file)
|
||||
:commands (sp-pair sp-local-pair sp-with-modes)
|
||||
:config
|
||||
|
@ -192,8 +192,9 @@ savehist file."
|
|||
|
||||
(smartparens-global-mode +1))
|
||||
|
||||
;; Automatic detection of indent settings
|
||||
|
||||
(def-package! dtrt-indent
|
||||
;; Automatic detection of indent settings
|
||||
:unless noninteractive
|
||||
:defer t
|
||||
:init
|
||||
|
@ -207,8 +208,10 @@ savehist file."
|
|||
#'doom|detect-indentation)
|
||||
:config
|
||||
(setq dtrt-indent-verbosity (if doom-debug-mode 2 0))
|
||||
(add-to-list 'dtrt-indent-hook-generic-mapping-list '(t tab-width))
|
||||
|
||||
;; always keep tab-width up-to-date
|
||||
(push '(t tab-width) dtrt-indent-hook-generic-mapping-list)
|
||||
|
||||
(defvar dtrt-indent-run-after-smie)
|
||||
(defun doom*fix-broken-smie-modes (orig-fn arg)
|
||||
"Some smie modes throw errors when trying to guess their indentation, like
|
||||
`nim-mode'. This prevents them from leaving Emacs in a broken state."
|
||||
|
@ -224,8 +227,9 @@ savehist file."
|
|||
(funcall orig-fn arg))))
|
||||
(advice-add #'dtrt-indent-mode :around #'doom*fix-broken-smie-modes))
|
||||
|
||||
;; Branching undo
|
||||
|
||||
(def-package! undo-tree
|
||||
;; Branching & persistent undo
|
||||
:after-call (doom-exit-buffer-hook after-find-file)
|
||||
:config
|
||||
(setq undo-tree-auto-save-history t
|
||||
|
@ -264,16 +268,12 @@ savehist file."
|
|||
(advice-add #'undo-tree-save-history :around #'doom*compress-undo-tree-history))
|
||||
|
||||
|
||||
;;
|
||||
;; Autoloaded Plugins
|
||||
;;
|
||||
|
||||
;; `command-log-mode'
|
||||
(setq command-log-mode-auto-show t
|
||||
command-log-mode-open-log-turns-on-mode t
|
||||
command-log-mode-is-global t)
|
||||
|
||||
;; `expand-region'
|
||||
|
||||
(def-package! expand-region
|
||||
:commands (er/contract-region er/mark-symbol er/mark-word)
|
||||
:config
|
||||
|
@ -284,6 +284,7 @@ savehist file."
|
|||
(advice-add #'evil-escape :before #'doom*quit-expand-region)
|
||||
(advice-add #'doom/escape :before #'doom*quit-expand-region))
|
||||
|
||||
|
||||
;; `helpful' --- a better *help* buffer
|
||||
(define-key! 'global
|
||||
[remap describe-function] #'helpful-callable
|
||||
|
@ -291,8 +292,9 @@ savehist file."
|
|||
[remap describe-variable] #'helpful-variable
|
||||
[remap describe-key] #'helpful-key)
|
||||
|
||||
;; `ws-butler' --- a better `delete-trailing-whitespaces'
|
||||
|
||||
(def-package! ws-butler
|
||||
;; a less intrusive `delete-trailing-whitespaces' on save
|
||||
:after-call (after-find-file)
|
||||
:config
|
||||
(setq ws-butler-global-exempt-modes
|
||||
|
|
|
@ -56,10 +56,15 @@ If any hook returns non-nil, all hooks after it are ignored.")
|
|||
which-key-min-display-lines 6
|
||||
which-key-side-window-slot -10)
|
||||
:config
|
||||
;; embolden local bindings
|
||||
;; general improvements to which-key readability
|
||||
(set-face-attribute 'which-key-local-map-description-face nil :weight 'bold)
|
||||
(which-key-setup-side-window-bottom)
|
||||
(setq-hook! 'which-key-init-buffer-hook line-spacing 3)
|
||||
(defun doom*no-fringes-in-which-key-buffer (&rest _)
|
||||
(doom|no-fringes-in-minibuffer)
|
||||
(set-window-fringes (get-buffer-window which-key--buffer) 0 0 nil))
|
||||
(advice-add 'which-key--show-buffer-side-window :after #'doom*no-fringes-in-which-key-buffer)
|
||||
|
||||
(which-key-mode +1))
|
||||
|
||||
|
||||
|
|
|
@ -304,8 +304,8 @@ to least)."
|
|||
(defmacro def-package! (name &rest plist)
|
||||
"This is a thin wrapper around `use-package'."
|
||||
`(use-package ,name
|
||||
,@(append (if (memq name doom-disabled-packages) `(:disabled t))
|
||||
plist)))
|
||||
,@(if (memq name doom-disabled-packages) `(:disabled t))
|
||||
,@plist))
|
||||
|
||||
(defmacro def-package-hook! (package when &rest body)
|
||||
"Reconfigures a package's `def-package!' block.
|
||||
|
|
|
@ -47,18 +47,18 @@
|
|||
|
||||
;; Projectile root-searching functions can cause an infinite loop on TRAMP
|
||||
;; connections, so disable them.
|
||||
(defun doom*projectile-locate-dominating-file (orig-fn &rest args)
|
||||
(defun doom*projectile-locate-dominating-file (orig-fn file name)
|
||||
"Don't traverse the file system if on a remote connection."
|
||||
(unless (file-remote-p default-directory)
|
||||
(apply orig-fn args)))
|
||||
(funcall orig-fn file name)))
|
||||
(advice-add #'projectile-locate-dominating-file :around #'doom*projectile-locate-dominating-file)
|
||||
|
||||
(defun doom*projectile-cache-current-file (orig-fun &rest args)
|
||||
(defun doom*projectile-cache-current-file (orig-fn)
|
||||
"Don't cache ignored files."
|
||||
(unless (cl-loop for path in (projectile-ignored-directories)
|
||||
if (string-prefix-p (or buffer-file-name "") (expand-file-name path))
|
||||
return t)
|
||||
(apply orig-fun args)))
|
||||
(funcall orig-fn)))
|
||||
(advice-add #'projectile-cache-current-file :around #'doom*projectile-cache-current-file))
|
||||
|
||||
|
||||
|
|
|
@ -71,7 +71,11 @@ shorter major mode name in the mode-line. See `doom|set-mode-name'.")
|
|||
window-resize-pixelwise t
|
||||
frame-resize-pixelwise t)
|
||||
|
||||
(fset #'yes-or-no-p #'y-or-n-p) ; y/n instead of yes/no
|
||||
;; y/n instead of yes/no
|
||||
(fset #'yes-or-no-p #'y-or-n-p)
|
||||
|
||||
;; Truly silence startup message
|
||||
(fset #'display-startup-echo-area-message #'ignore)
|
||||
|
||||
|
||||
;;
|
||||
|
@ -100,7 +104,7 @@ shorter major mode name in the mode-line. See `doom|set-mode-name'.")
|
|||
(add-hook 'completion-list-mode-hook #'hide-mode-line-mode)
|
||||
(add-hook 'Man-mode-hook #'hide-mode-line-mode)
|
||||
|
||||
;; `highlight-numbers' -- better number literal fontification in code
|
||||
;; `highlight-numbers' --- better number literal fontification in code
|
||||
(def-package! highlight-numbers
|
||||
:hook (prog-mode . highlight-numbers-mode)
|
||||
:config (setq highlight-numbers-generic-regexp "\\_<[[:digit:]]+\\(?:\\.[0-9]*\\)?\\_>"))
|
||||
|
@ -113,10 +117,11 @@ shorter major mode name in the mode-line. See `doom|set-mode-name'.")
|
|||
;; Especially in parentheses-drunk languages like Lisp.
|
||||
(setq rainbow-delimiters-max-face-count 3)
|
||||
|
||||
;; `restart-emacs'
|
||||
;; `restart-emacs' --- provides a simple mechanism for restarting Emacs and
|
||||
;; daemons interactively.
|
||||
(setq restart-emacs--args (list "--restore"))
|
||||
|
||||
;; `visual-fill-column' For a distractions-free-like UI, that dynamically
|
||||
;; `visual-fill-column' --- for a distractions-free-like UI, that dynamically
|
||||
;; resizes margins and can center a buffer.
|
||||
(setq visual-fill-column-center-text t
|
||||
visual-fill-column-width
|
||||
|
@ -143,8 +148,9 @@ shorter major mode name in the mode-line. See `doom|set-mode-name'.")
|
|||
(add-hook 'isearch-mode-hook #'doom|disable-ui-keystrokes)
|
||||
(add-hook 'isearch-mode-end-hook #'doom|enable-ui-keystrokes)
|
||||
|
||||
;; Highlights the current line
|
||||
|
||||
(def-package! hl-line ; built-in
|
||||
;; Highlights the current line
|
||||
:hook ((prog-mode text-mode conf-mode) . hl-line-mode)
|
||||
:config
|
||||
;; I don't need hl-line showing in other windows. This also offers a small
|
||||
|
@ -180,14 +186,16 @@ shorter major mode name in the mode-line. See `doom|set-mode-name'.")
|
|||
(add-hook 'evil-visual-state-entry-hook #'doom|disable-hl-line)
|
||||
(add-hook 'evil-visual-state-exit-hook #'doom|enable-hl-line-maybe)))
|
||||
|
||||
;; undo/redo changes to Emacs' window layout
|
||||
|
||||
(def-package! winner
|
||||
;; undo/redo changes to Emacs' window layout
|
||||
:after-call doom-exit-window-hook
|
||||
:preface (defvar winner-dont-bind-my-keys t) ; I'll bind keys myself
|
||||
:config (winner-mode +1))
|
||||
|
||||
;; highlight matching delimiters
|
||||
|
||||
(def-package! paren
|
||||
;; highlight matching delimiters
|
||||
:after-call (after-find-file doom-exit-buffer-hook)
|
||||
:init
|
||||
(defun doom|disable-show-paren-mode ()
|
||||
|
@ -199,6 +207,7 @@ shorter major mode name in the mode-line. See `doom|set-mode-name'.")
|
|||
show-paren-when-point-inside-paren t)
|
||||
(show-paren-mode +1))
|
||||
|
||||
|
||||
;; The native border "consumes" a pixel of the fringe on righter-most splits,
|
||||
;; `window-divider' does not. Available since Emacs 25.1.
|
||||
(setq-default window-divider-default-places t
|
||||
|
@ -206,12 +215,8 @@ shorter major mode name in the mode-line. See `doom|set-mode-name'.")
|
|||
window-divider-default-right-width 1)
|
||||
(add-hook 'doom-init-ui-hook #'window-divider-mode)
|
||||
|
||||
;; remove prompt if the file is opened in other clients
|
||||
(defun server-remove-kill-buffer-hook ()
|
||||
(remove-hook 'kill-buffer-query-functions #'server-kill-buffer-query-function))
|
||||
(add-hook 'server-visit-hook #'server-remove-kill-buffer-hook)
|
||||
|
||||
;; `whitespace-mode' (built-in)
|
||||
;; `whitespace-mode'
|
||||
(setq whitespace-line-column nil
|
||||
whitespace-style
|
||||
'(face indentation tabs tab-mark spaces space-mark newline newline-mark
|
||||
|
@ -384,7 +389,8 @@ frame's window-system, the theme will be reloaded.")
|
|||
;; fonts
|
||||
(add-hook 'doom-init-ui-hook #'doom|init-fonts)
|
||||
;; themes
|
||||
(add-hook 'doom-init-ui-hook #'doom|init-theme)
|
||||
(unless (daemonp)
|
||||
(add-hook 'doom-init-ui-hook #'doom|init-theme))
|
||||
(add-hook 'after-make-frame-functions #'doom|reload-theme-in-frame-maybe)
|
||||
(add-hook 'after-delete-frame-functions #'doom|reload-theme-maybe)
|
||||
|
||||
|
@ -394,20 +400,16 @@ frame's window-system, the theme will be reloaded.")
|
|||
|
||||
;; simple name in frame title
|
||||
(setq frame-title-format '("%b – Doom Emacs"))
|
||||
|
||||
;; draw me like one of your French editors
|
||||
(tooltip-mode -1) ; relegate tooltips to echo area only
|
||||
|
||||
;; relegate tooltips to echo area only
|
||||
(tooltip-mode -1)
|
||||
;; a good indicator that Emacs isn't frozen
|
||||
(add-hook 'doom-init-ui-hook #'blink-cursor-mode)
|
||||
;; Make `next-buffer', `other-buffer', etc. ignore unreal buffers.
|
||||
(add-to-list 'default-frame-alist (cons 'buffer-predicate #'doom-buffer-frame-predicate))
|
||||
|
||||
(add-to-list 'default-frame-alist '(buffer-predicate . doom-buffer-frame-predicate))
|
||||
;; Prevent the glimpse of un-styled Emacs by setting these early.
|
||||
(add-to-list 'default-frame-alist '(tool-bar-lines 0))
|
||||
(add-to-list 'default-frame-alist '(menu-bar-lines 0))
|
||||
(add-to-list 'default-frame-alist '(vertical-scroll-bars))
|
||||
|
||||
;; prompts the user for confirmation when deleting a non-empty frame
|
||||
(global-set-key [remap delete-frame] #'doom/delete-frame)
|
||||
|
||||
|
@ -442,13 +444,13 @@ instead). Meant for `kill-buffer-query-functions'."
|
|||
(add-hook 'after-change-major-mode-hook #'doom|set-mode-name)
|
||||
(add-hook 'after-change-major-mode-hook #'doom|highlight-non-default-indentation)
|
||||
(add-hook 'compilation-filter-hook #'doom|apply-ansi-color-to-compilation-buffer)
|
||||
;;
|
||||
(run-hook-wrapped 'doom-init-ui-hook #'doom-try-run-hook))
|
||||
|
||||
(add-hook 'emacs-startup-hook #'doom|init-ui)
|
||||
|
||||
|
||||
;; Fixes/hacks
|
||||
;;
|
||||
;; Fixes/hacks
|
||||
|
||||
;; doesn't exist in terminal Emacs; we define it to prevent errors
|
||||
(unless (fboundp 'define-fringe-bitmap)
|
||||
|
@ -481,11 +483,6 @@ instead). Meant for `kill-buffer-query-functions'."
|
|||
(advice-add #'delete-backward-char :around #'doom*silence-motion-errors)
|
||||
(advice-add #'backward-kill-sentence :around #'doom*silence-motion-errors)
|
||||
|
||||
(defun doom*no-fringes-in-which-key-buffer (&rest _)
|
||||
(doom|no-fringes-in-minibuffer)
|
||||
(set-window-fringes (get-buffer-window which-key--buffer) 0 0 nil))
|
||||
(advice-add 'which-key--show-buffer-side-window :after #'doom*no-fringes-in-which-key-buffer)
|
||||
|
||||
;; Switch to `doom-fallback-buffer' if on last real buffer
|
||||
(advice-add #'kill-this-buffer :around #'doom*switch-to-fallback-buffer-maybe)
|
||||
|
||||
|
|
48
core/core.el
48
core/core.el
|
@ -16,10 +16,8 @@ line or use --debug-init to enable this.")
|
|||
(defconst doom-version "2.0.9"
|
||||
"Current version of DOOM emacs.")
|
||||
|
||||
(defconst EMACS26+
|
||||
(eval-when-compile (not (version< emacs-version "26"))))
|
||||
(defconst EMACS27+
|
||||
(eval-when-compile (not (version< emacs-version "27"))))
|
||||
(defconst EMACS26+ (> emacs-major-version 25))
|
||||
(defconst EMACS27+ (> emacs-major-version 26))
|
||||
|
||||
(defconst IS-MAC (eq system-type 'darwin))
|
||||
(defconst IS-LINUX (eq system-type 'gnu/linux))
|
||||
|
@ -27,15 +25,14 @@ line or use --debug-init to enable this.")
|
|||
|
||||
|
||||
;;
|
||||
(defvar doom-emacs-dir
|
||||
(eval-when-compile (file-truename user-emacs-directory))
|
||||
(defvar doom-emacs-dir user-emacs-directory
|
||||
"The path to this emacs.d directory. Must end in a slash.")
|
||||
|
||||
(defvar doom-core-dir (concat doom-emacs-dir "core/")
|
||||
"Where essential files are stored.")
|
||||
"The root directory of core Doom files.")
|
||||
|
||||
(defvar doom-modules-dir (concat doom-emacs-dir "modules/")
|
||||
"The main directory where Doom modules are stored.")
|
||||
"The root directory for Doom's modules.")
|
||||
|
||||
(defvar doom-local-dir (concat doom-emacs-dir ".local/")
|
||||
"Root directory for local Emacs files. Use this as permanent storage for files
|
||||
|
@ -125,19 +122,21 @@ module init.el files, but before their config.el files are loaded.")
|
|||
else (except for `window-setup-hook').")
|
||||
|
||||
(defvar doom-reload-hook nil
|
||||
"A list of hooks to run when `doom//reload-load-path' is called.")
|
||||
"A list of hooks to run when `doom/reload' is called.")
|
||||
|
||||
(defvar doom-load-theme-hook nil
|
||||
"Hook run when the theme (and font) is initialized (or reloaded
|
||||
with `doom/reload-theme').")
|
||||
"Hook run after the theme is loaded with `load-theme' or reloaded with
|
||||
`doom/reload-theme'.")
|
||||
|
||||
(defvar doom-exit-window-hook nil
|
||||
"Hook run before `switch-window' or `switch-frame' are called. See
|
||||
`doom-enter-window-hook'.")
|
||||
"Hook run before `switch-window' or `switch-frame' are called.
|
||||
|
||||
Also see `doom-enter-window-hook'.")
|
||||
|
||||
(defvar doom-enter-window-hook nil
|
||||
"Hook run after `switch-window' or `switch-frame' are called. See
|
||||
`doom-exit-window-hook'.")
|
||||
"Hook run after `switch-window' or `switch-frame' are called.
|
||||
|
||||
Also see `doom-exit-window-hook'.")
|
||||
|
||||
(defvar doom-exit-buffer-hook nil
|
||||
"Hook run after `switch-to-buffer', `pop-to-buffer' or `display-buffer' are
|
||||
|
@ -152,9 +151,11 @@ called. The buffer to be switched to is current when these hooks run.
|
|||
Also see `doom-exit-buffer-hook'.")
|
||||
|
||||
(defvar doom-inhibit-switch-buffer-hooks nil
|
||||
"Letvar for inhibiting `doom-enter-buffer-hook' and `doom-exit-buffer-hook'.")
|
||||
"Letvar for inhibiting `doom-enter-buffer-hook' and `doom-exit-buffer-hook'.
|
||||
Do not set this directly.")
|
||||
(defvar doom-inhibit-switch-window-hooks nil
|
||||
"Letvar for inhibiting `doom-enter-window-hook' and `doom-exit-window-hook'.")
|
||||
"Letvar for inhibiting `doom-enter-window-hook' and `doom-exit-window-hook'.
|
||||
Do not set this directly.")
|
||||
|
||||
(defun doom*switch-window-hooks (orig-fn window &optional norecord)
|
||||
(if (or doom-inhibit-switch-window-hooks
|
||||
|
@ -290,9 +291,6 @@ original value of `symbol-file'."
|
|||
(funcall orig-fn symbol type)))
|
||||
(advice-add #'symbol-file :around #'doom*symbol-file)
|
||||
|
||||
;; Truly silence startup message
|
||||
(fset #'display-startup-echo-area-message #'ignore)
|
||||
|
||||
;; Don't garbage collect to speed up minibuffer commands
|
||||
(defun doom|defer-garbage-collection ()
|
||||
(setq gc-cons-threshold doom-gc-cons-upper-limit))
|
||||
|
@ -306,13 +304,13 @@ original value of `symbol-file'."
|
|||
;; Bootstrap helpers
|
||||
|
||||
(defun doom-try-run-hook (hook)
|
||||
"Run HOOK (a hook function), but marks thrown errors to make it a little
|
||||
easier to tell where the came from.
|
||||
"Run HOOK (a hook function), but handle errors better, to make debugging
|
||||
issues easier.
|
||||
|
||||
Meant to be used with `run-hook-wrapped'."
|
||||
(when doom-debug-mode
|
||||
(message "Running doom hook: %s" hook))
|
||||
(let ((gc-cons-threshold doom-gc-cons-upper-limit))
|
||||
(when doom-debug-mode
|
||||
(message "Running doom hook: %s" hook))
|
||||
(condition-case e
|
||||
(funcall hook)
|
||||
((debug error)
|
||||
|
@ -400,9 +398,9 @@ The overall load order of Doom is as follows:
|
|||
`doom-init-hook'
|
||||
Module config.el files
|
||||
~/.doom.d/config.el
|
||||
`doom-post-init-hook'
|
||||
`after-init-hook'
|
||||
`emacs-startup-hook'
|
||||
`doom-post-init-hook' (at end of `emacs-startup-hook')
|
||||
|
||||
Module load order is determined by your `doom!' block. See `doom-modules-dirs'
|
||||
for a list of all recognized module trees. Order defines precedence (from most
|
||||
|
|
18
init.el
18
init.el
|
@ -41,17 +41,17 @@ decrease this. If you experience stuttering, increase this.")
|
|||
"Resets garbage collection settings to reasonable defaults (a large
|
||||
`gc-cons-threshold' can cause random freezes otherwise) and resets
|
||||
`file-name-handler-alist'."
|
||||
(setq-default file-name-handler-alist doom--file-name-handler-alist)
|
||||
;; Do it on an idle timer to defer the possible GC pause, and to give deferred
|
||||
;; packages the opportunity to take advantage of these optimizations.
|
||||
(setq file-name-handler-alist doom--file-name-handler-alist)
|
||||
;; Do this on idle timer to defer a possible GC pause that could result; also
|
||||
;; allows deferred packages to take advantage of these optimizations.
|
||||
(run-with-idle-timer
|
||||
3 nil (lambda () (setq-default gc-cons-threshold doom-gc-cons-threshold))))
|
||||
|
||||
|
||||
(if (or after-init-time noninteractive)
|
||||
(setq gc-cons-threshold doom-gc-cons-threshold)
|
||||
;; A big contributor to long startup times is the garbage collector, so we up
|
||||
;; its memory threshold, temporarily and reset it later in
|
||||
;; A big contributor to startup times is garbage collection. We up the gc
|
||||
;; threshold to temporarily prevent it from running, then reset it later in
|
||||
;; `doom|disable-startup-optimizations'.
|
||||
(setq gc-cons-threshold doom-gc-cons-upper-limit)
|
||||
;; This is consulted on every `require', `load' and various file reading
|
||||
|
@ -61,11 +61,11 @@ decrease this. If you experience stuttering, increase this.")
|
|||
(add-hook 'emacs-startup-hook #'doom|restore-startup-optimizations))
|
||||
|
||||
|
||||
;; Ensure Doom is always running out of this file's directory
|
||||
;; Ensure Doom is running out of this file's directory
|
||||
(setq user-emacs-directory (file-name-directory load-file-name))
|
||||
;; In noninteractive sessions, we hope that non-byte-compiled files will take
|
||||
;; precedence over byte-compiled ones, however, if you're getting odd recursive
|
||||
;; load errors, it may help to set this to nil.
|
||||
;; In noninteractive sessions, prioritize non-byte-compiled source files to
|
||||
;; prevent stale, byte-compiled code from running. However, if you're getting
|
||||
;; recursive load errors, it may help to set this to nil.
|
||||
(setq load-prefer-newer noninteractive)
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue