doom-enabled-modules => doom-modules
This commit is contained in:
parent
bc402868a6
commit
4cdc28da18
2 changed files with 28 additions and 26 deletions
|
@ -112,10 +112,10 @@ fed to `doom/packages-delete'."
|
|||
;;;###autoload
|
||||
(defun doom-read-packages (&optional force-p nopackages)
|
||||
"Parses your Emacs config to keep track of packages declared with `package!'
|
||||
in `doom-packages' and enabled modules in `doom-enabled-modules'."
|
||||
in `doom-packages' and enabled modules in `doom-modules'."
|
||||
(doom-initialize)
|
||||
(when (or force-p (not doom-enabled-modules) (not doom-packages))
|
||||
(setq doom-enabled-modules
|
||||
(when (or force-p (not doom-modules) (not doom-packages))
|
||||
(setq doom-modules
|
||||
(let (paths mode enabled-modules)
|
||||
(--each (doom--scrape-sexps 'doom! (f-expand "init.el" doom-emacs-dir))
|
||||
(dolist (module it)
|
||||
|
@ -144,7 +144,7 @@ in `doom-packages' and enabled modules in `doom-enabled-modules'."
|
|||
(doom--scrape-sexps 'package! file)))
|
||||
(append (f-glob "core*.el" doom-core-dir)
|
||||
(--map (doom-module-path (car it) (cdr it) "packages.el")
|
||||
doom-enabled-modules)))))))
|
||||
doom-modules)))))))
|
||||
t)))
|
||||
|
||||
;;;###autoload
|
||||
|
@ -168,25 +168,26 @@ in `doom-packages' and enabled modules in `doom-enabled-modules'."
|
|||
"Installs package NAME with optional quelpa RECIPE (see `quelpa-recipe' for an
|
||||
example; the package name can be omitted)."
|
||||
(doom-refresh-packages)
|
||||
(doom-read-packages)
|
||||
(when (package-installed-p name)
|
||||
(error "%s is already installed, skipping" name))
|
||||
(when (plist-get plist :disabled)
|
||||
(error "%s is disabled, skipping" name))
|
||||
(when (plist-get plist :load-path)
|
||||
(error "%s has a local load-path, skipping" name))
|
||||
(cond ((plist-get plist :recipe)
|
||||
(let ((recipe (plist-get plist :recipe)))
|
||||
(when (and recipe (= 0 (mod (length recipe) 2)))
|
||||
(setq recipe (cons name recipe)))
|
||||
(quelpa recipe)))
|
||||
(t (package-install name)))
|
||||
(let ((needs (plist-get plist :needs)))
|
||||
(when (and needs
|
||||
(--any-p (not (rassq it doom-modules))
|
||||
(-list needs)))
|
||||
(error "%s doesn't have necessary dependencies (%s), skipping" needs)))
|
||||
(let ((inhibit-message (not doom-debug-mode)))
|
||||
(cond ((plist-get plist :recipe)
|
||||
(let ((recipe (plist-get plist :recipe)))
|
||||
(when (and recipe (= 0 (mod (length recipe) 2)))
|
||||
(setq recipe (cons name recipe)))
|
||||
(quelpa recipe)))
|
||||
(t (package-install name))))
|
||||
(cl-pushnew (cons name plist) doom-packages :key 'car)
|
||||
(when (plist-member plist :setup)
|
||||
(let ((setup (plist-get plist :setup)))
|
||||
(when (listp setup)
|
||||
(setq setup (assq (doom-os) setup)))
|
||||
(when setup
|
||||
(async-shell-command setup))))
|
||||
(package-installed-p name))
|
||||
|
||||
(defun doom-update-package (name)
|
||||
|
@ -196,7 +197,8 @@ appropriate."
|
|||
(unless (package-installed-p name)
|
||||
(error "%s isn't installed" name))
|
||||
(when (doom-package-outdated-p name)
|
||||
(let (quelpa-modified-p)
|
||||
(let ((inhibit-message (not doom-debug-mode))
|
||||
quelpa-modified-p)
|
||||
(pcase (doom-package-backend name)
|
||||
('quelpa
|
||||
(let ((quelpa-upgrade-p t))
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
;;
|
||||
;; See core/autoload/packages.el for more functions.
|
||||
|
||||
(defvar doom-enabled-modules nil
|
||||
(defvar doom-modules nil
|
||||
"List of enabled modules; each element is a cons cell (MODULE . SUBMODULE),
|
||||
where MODULE is the module's property symbol, e.g. :lang, and SUBMODULE is the
|
||||
submodule symbol, e.g. 'evil.")
|
||||
|
@ -85,11 +85,11 @@ byte-compilation."
|
|||
((not mode)
|
||||
(error "No namespace specified on `doom!' for %s" p))
|
||||
(t
|
||||
(setq doom-enabled-modules (append doom-enabled-modules (list (cons mode p))))))))
|
||||
`(unless noninteractive
|
||||
(let (file-name-handler-alist)
|
||||
(setq doom-modules (append doom-modules (list (cons mode p))))))))
|
||||
(unless noninteractive
|
||||
`(let (file-name-handler-alist)
|
||||
,@(mapcar (lambda (pkg) `(load! ,(car pkg) ,(cdr pkg)))
|
||||
doom-enabled-modules)
|
||||
doom-modules)
|
||||
|
||||
(when (display-graphic-p)
|
||||
(require 'server)
|
||||
|
@ -210,7 +210,7 @@ Examples:
|
|||
file (concat (symbol-name module) ".el")))
|
||||
(t
|
||||
(cl-pushnew (cons module submodule)
|
||||
doom-enabled-modules
|
||||
doom-modules
|
||||
:test (lambda (x y) (and (eq (car x) (car y))
|
||||
(eq (cdr x) (cdr y)))))
|
||||
(setq path (doom-module-path module submodule)
|
||||
|
@ -240,7 +240,7 @@ Examples:
|
|||
;;
|
||||
|
||||
(defun doom/reload ()
|
||||
"Reload `load-path', `doom-enabled-modules' and `doom-packages' by
|
||||
"Reload `load-path', `doom-modules' and `doom-packages' by
|
||||
reinitializing doom and parsing config files for `package!' and `doom!' calls.
|
||||
There are few reasons to use this."
|
||||
(interactive)
|
||||
|
@ -269,7 +269,7 @@ the commandline."
|
|||
((f-exists-p auto-file)
|
||||
auto-file)))
|
||||
(--map (doom-module-path (car it) (cdr it))
|
||||
doom-enabled-modules)))
|
||||
doom-modules)))
|
||||
(f-glob "autoload/*.el" doom-core-dir)))
|
||||
(when (f-exists-p generated-autoload-file)
|
||||
(f-delete generated-autoload-file)
|
||||
|
@ -300,7 +300,7 @@ There should be a measurable benefit from this, but it may take a while."
|
|||
(or (string= (f-base it) "config")
|
||||
(string-prefix-p "+" (f-base it))))
|
||||
t)
|
||||
doom-enabled-modules)))))
|
||||
doom-modules)))))
|
||||
(n 0)
|
||||
results)
|
||||
(dolist (file targets)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue