💥 Redesign private sub-module system

~/.doom.d/modules is now a full module tree, like ~/.emacs.d/modules.
Symlinks are no longer involved.

Private modules can now shadow Doom modules. e.g.
~/.doom.d/modules/lang/org will take precendence over
~/.emacs.d/modules/lang/org.

Also, made doom--*-load-path variables public (e.g. doom--site-load-path
=> doom-site-load-path), and rearranged the load-path for a 10-15%
startup boost.
This commit is contained in:
Henrik Lissner 2018-02-16 02:02:58 -05:00
parent 8ca4fbd8fe
commit 2b1c323dbf
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
12 changed files with 122 additions and 145 deletions

View file

@ -7,15 +7,11 @@
"The directory that serves as the root of your external private config for
Doom Emacs.")
(defvar +private-symlink-path
(expand-file-name "private" doom-modules-dir)
"Where the place the symbolic link to the private modules directory.")
;; Ensure `doom//reload-autoloads', `doom//byte-compile' and
;; `doom-initialize-packages' all include this module in their operations.
(add-to-list 'doom-extra-module-paths +private-config-path)
(add-to-list 'doom-psuedo-module-dirs +private-config-path)
(add-to-list 'doom-modules-dirs (expand-file-name "modules/" +private-config-path))
;;
(load (expand-file-name "init.el" +private-config-path)
'noerror 'nomessage)