This allows you to specify a :local-repo relative to the directory your
packages.el is in. If it doesn't exist, it'll assume you meant a
directory in ~/.emacs.d/.local/straight/repos
raxod502/straight.el@d28fd41930 causes breakage; preventing users from
installing Doom. It's about time we stop living dangerously and use
straight's master branch instead.
Addresses #2937
refresh isn't going anywhere, but sync will be the canonical command
here on out, because it is more appropriate for kind of work it will be
doing in the future.
- Make doom/info package details more concise
- Removed doom-pinned-packages variable (pin info now stored in
doom-packages metadata)
- Fix unpin! not actually unpinning some packages
And rearrange "Checking out ..." message during 'doom upgrade' to
display package first, then commit (and abbreviated), rather than the
other around. It's easier to read.
When a package's worktree is dirty (or its recipe was changed), straight
prompts you with options to deal with it. To make it easier for less git
savvy folks, the recommended option has been marked.
- Reduces `package!`'s side-effects and moves them to
`doom-initialize-packages`.
- Adds :pin to `package!` for commit pinning (but it hasn't been
implemented just yet -- needs more testing)!
- Adds `doom-pinned-packages` variable
- Now overrides straight recipes using `straight-override-recipe`
instead of in-house merging.
Errors like 'Could not find package emacsmirror-mirror in recipe
repositories' occur because I assumed that straight--reset-caches would
unset `straight-recipe-repositories`. I'm not sure if that was ever the
case, but it isn't now.
- No longer translates :fetcher to :host. Update your package!
declaration people!
- Now evaluates the values for properties (except for :recipe IF it is a
list whose CAR passes keywordp -- for backwards compatibility).
- Throws error if an invalid property is used for a package!'s :recipe
Fixes an issue where package! declarations were read unconditionally at
compile time, whether or not they were on a reachable code path. e.g.
evil is always disabled by:
(when nil
(package! evil :disable t))