From 4fda7cd2873dbca7d8a0f0206bf9b124df743d38 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 9 Sep 2019 19:21:39 -0400 Subject: [PATCH] Don't auto-purge ELPA packages on 'doom refresh' ...or 'doom purge', without the -e or --elpa switches (or --all). --- core/cli/packages.el | 18 ++++++++++++------ core/core-cli.el | 2 +- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/core/cli/packages.el b/core/cli/packages.el index 8d1e46c00..f8cdc603a 100644 --- a/core/cli/packages.el +++ b/core/cli/packages.el @@ -39,19 +39,25 @@ their elisp files are byte-compiled." (defcli! (purge p) (&rest args) "Deletes any unused ELPA packages, straight builds, and (optionally) repos. -By default, this does not purge repos. +By default, this does not purge ELPA packages or repos. It is a good idea to run +'doom purge --all' once in a while, to stymy build-up of repos and ELPA +packages that could be taking up precious space. Available options: ---no-elpa Don't purge ELPA packages ---no-builds Don't purge unneeded (built) packages ---repos Purge unused repos" +--no-builds Don't purge unneeded (built) packages +-e / --elpa Don't purge ELPA packages +-r / --repos Purge unused repos +--all Purge builds, elpa packages and repos" (doom--ensure-autoloads-while (straight-check-all) - (doom-packages-purge (not (member "--no-elpa" args)) + (doom-packages-purge (or (member "-e" args) + (member "--elpa" args) + (member "--all" args)) (not (member "--no-builds" args)) (or (member "-r" args) - (member "--repos" args)) + (member "--repos" args) + (member "--all" args)) doom-auto-accept))) ;; (defcli! rollback () ; TODO rollback diff --git a/core/core-cli.el b/core/core-cli.el index f4410de96..b952a5810 100644 --- a/core/core-cli.el +++ b/core/core-cli.el @@ -186,7 +186,7 @@ stale." (setq success t)) (and (doom-packages-rebuild doom-auto-accept) (setq success t)) - (and (doom-packages-purge 'elpa-p 'builds-p nil doom-auto-accept) + (and (doom-packages-purge nil 'builds-p nil doom-auto-accept) (setq success t))) (doom-reload-package-autoloads (or success force-p)) (doom-byte-compile nil 'recompile))