Magic is fine if it's all magic: why I've switched to use-package in GNU Emacs
A while back I tweeted:
I revised my .emacs to use-package for all of the extra packages that I'm using (not yet for stock Emacs things, like c-mode settings). It was mostly smooth and the result is cleaner and easier to follow than it used to be, although there is more magic.
Since I deal with my .emacs only occasionally, I think clean and easy to follow is more useful than 'low magic'. In practice everything in my .emacs is magic when I come back to it six months later; I'm going to have to remember how it all works no matter what I use.
Use-package (also) is the hip modern way
to configure Emacs packages such as lsp-mode (which I've switched to). For example, if you search around on the
Internet for sample
.emacs, discussions of configuring things,
and so on, you'll most likely find people doing this with use-package.
This is one advantage of switching to using use-package; going with
what everyone seems to be using makes it easier to find answers to
questions I may have.
(For this purpose it doesn't matter whether or not use-package is in wide use among the general population of GNU Emacs users. What matters is what people write about on the Internet where I can find it.)
Another advantage of use-package is that it makes my
to follow. Use-package forces grouping everything to do with a package
together in one spot and it makes a certain amount of configuration and
setup easier and shorter. I'm not sure it reduces the amount of things
I need to learn to set up hooks and add keymappings and so on, but it
feels like it makes them more accessible, straightforward, and easier
to read later.
The theoretical downside of use-package is that it is magic (and that dealing with it requires occasional magic things that I don't understand even within the context of use-package). Normally I shy away from magic, but after thinking about it I decided I felt differently here. The best way to summarize this is that if you only deal with something occasionally, it's all magic no matter what.
Sure, I'm immersed in my
.emacs now and sort of understand it
(for some value of 'now'). But I don't deal with it very often, so
it may be six months or a year or more before I touch it again. In
a year, I will almost certainly have forgotten everything to do
with all of the various things that go in your
.emacs, and that's
the same regardless of whether or not I use use-package. That
use-package is more magic and requires learning other things won't
really matter then, because it will all be magic to me unless and
until I spent the time to re-learn things. And if something breaks
and I have to fix it, again it will all be magic either way and
I'll at least start out with Internet searches for the error message.
(Also, in the sense that there are lots of use-package examples to crib from, using use-package is the lazy way. I don't have to really learn how things work, I can just copy things. Of course this is how you get superstitions.)