diff --git a/core/autoload/config.el b/core/autoload/config.el index 05637ad1e..6cb41fb0f 100644 --- a/core/autoload/config.el +++ b/core/autoload/config.el @@ -74,7 +74,9 @@ reloads your package list, and lastly, reloads your private config.el. Runs `doom-reload-hook' afterwards." (interactive) (require 'core-cli) - (doom--compile (format "%s refresh" doom-bin) + (when (and IS-WINDOWS (file-exists-p doom-env-file)) + (warn "Can't regenerate envvar file from within Emacs. Run 'doom env' from the console")) + (doom--compile (format "%s refresh -e" doom-bin) :on-success (let ((doom-reloading-p t)) (doom-initialize 'force) @@ -114,6 +116,8 @@ If passed the prefix ARG, clear the envvar file. Uses the same mechanism as An envvar file contains a snapshot of your shell environment, which can be imported into Emacs." (interactive "P") + (when IS-WINDOWS + (user-error "Cannot reload envvar file from within Emacs on Windows, run it from cmd.exe")) (doom--compile (format "%s -c '%s env%s'" shell-file-name doom-bin (if arg " -c" "")) :on-success diff --git a/core/core-cli.el b/core/core-cli.el index 596449918..6e1aac662 100644 --- a/core/core-cli.el +++ b/core/core-cli.el @@ -222,8 +222,9 @@ BODY will be run when this dispatcher is called." (defcligroup! "Maintenance" "For managing your config and packages" (defcli! (refresh re sync) - ((if-necessary-p ["-n" "--if-necessary"] "Only regenerate autoloads files if necessary") - (prune-p ["-p" "--prune"] "Purge orphaned packages & regraft repos")) + ((if-necessary-p ["-n" "--if-necessary"] "Only regenerate autoloads files if necessary") + (inhibit-envvar-p ["-e"] "Don't regenerate the envvar file") + (prune-p ["-p" "--prune"] "Purge orphaned packages & regraft repos")) "Ensure Doom is properly set up. This is the equivalent of running autoremove, install, autoloads, then @@ -241,7 +242,8 @@ stale." (print! (start "Initiating a refresh of Doom Emacs...")) (print-group! (let (success) - (when (file-exists-p doom-env-file) + (when (and (not inhibit-envvar-p) + (file-exists-p doom-env-file)) (doom-cli-reload-env-file 'force)) ;; Ensures that no pre-existing state pollutes the generation of the new