refactor: register :core & :user as virtual modules

...that are always enabled. This way, the module API treats them as any
other module.

This also changes doom-module-load-path. If supplied directories,
doom-user-dir will not be the CAR of its return value. If no dirs are
supplied, then doom-core-dir and doom-user-dir are included (and will
always be the first two items in the returned list).
This commit is contained in:
Henrik Lissner 2022-09-13 00:28:28 +02:00
parent 10eb5db12d
commit 3a0f1aa3ef
No known key found for this signature in database
GPG key ID: B60957CA074D39A3
5 changed files with 27 additions and 27 deletions

View file

@ -163,11 +163,7 @@ each package."
(ignore-errors (intern (cadr module)))
current-prefix-arg)))
(mapc (lambda! ((cat . mod))
(if-let (packages-file
(pcase cat
(:user (car (doom-glob doom-user-dir "packages.el")))
(:core (car (doom-glob doom-core-dir "packages.el")))
(_ (doom-module-locate-path cat mod "packages.el"))))
(if-let (packages-file (doom-module-locate-path cat mod "packages.el"))
(with-current-buffer
(or (get-file-buffer packages-file)
(find-file-noselect packages-file))