diff --git a/core/templates/packages.example.el b/core/templates/packages.example.el index 2afbc7e28..4c7ece798 100644 --- a/core/templates/packages.example.el +++ b/core/templates/packages.example.el @@ -4,19 +4,15 @@ ;; To install a package with Doom you must declare them here, run 'doom sync' on ;; the command line, then restart Emacs for the changes to take effect. ;; Alternatively, use M-x doom/reload. -;; -;; WARNING: Disabling core packages listed in ~/.emacs.d/core/packages.el may -;; have nasty side-effects and is not recommended. -;; All of Doom's packages are pinned to a specific commit, and updated from -;; release to release. To un-pin all packages and live on the edge, do: -;(unpin! t) - -;; ...but to unpin a single package: +;; Doom's packages are pinned to a specific commit and updated from release to +;; release. The `unpin!' macro allows you to unpin single packages... ;(unpin! pinned-package) -;; Use it to unpin multiple packages +;; ...or multiple packages ;(unpin! pinned-package another-pinned-package) +;; ...Or *all* packages (NOT RECOMMENDED; will likely break things) +;(unpin! t) ;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror: diff --git a/docs/getting_started.org b/docs/getting_started.org index 2ab8da320..b75389925 100644 --- a/docs/getting_started.org +++ b/docs/getting_started.org @@ -717,14 +717,29 @@ To unpin a package, use the ~unpin!~ macro: ;; Or to unpin an entire category of modules (unpin! :completion :lang :tools) + +;; This will work too, if you prefer the syntax, but it provides no concise +;; syntax for unpinning multiple packages: +(package! helm :pin nil) #+END_SRC -To unpin all packages and make Doom Emacs rolling release, use +Though it is *highly* discouraged, you may unpin all packages and make Doom +Emacs rolling release: #+BEGIN_SRC elisp (unpin! t) #+END_SRC +#+begin_quote +Unpinning all packages is discouraged because Doom's modules are designed +against the pinned versions of its packages. More volatile packages (like +lsp-mode, ein and org) change rapidly, and are likely to cause breakages if +unpinned. + +Instead, it's a better idea to selectively unpin packages, or repin them to the +exact commit you want. +#+end_quote + *** Disabling packages The ~package!~ macro possesses a ~:disable~ property: