Package Management with Use-package

Aditya Athalye had declared Emacs configuration bankruptcy and decided to start over emphasizing package management. He decided to build his own configuration as opposed to relying on a starter package: build vs. purchase as he put it. He started by using some of the ideas in Bozhidar Batsov’s prelude distribution but depends mostly on John Wiegley’s use-package package.

Athalye believes that one of the secrets to sustainable Emacs configuration is to let software write as much of the boilerplate as possible. That’s precisely what macros do, of course, so he relies heavily on the use-package macro to write most of his package installation code. Using use-package has several advantages.

Not only does it take care of that boilerplate saving time in writing it and time in debugging errors from getting it wrong, it also simplifies your init.el file. The nice thing about it is that can also handle installing a package if it’s not already present. Once the package is present, the use-package also provides the configuration, including any keybindings the user might desire.

Athalye includes a copy of his init.el so far. It’s a work in progress and he indicates some of the things still to be done but the package management facilities are all in place. He makes a good case for using use-package and you should check it out if you aren’t already using it yourself.

I long ago converted all my require commands, except that for use-package itself, to the macro and have never looked back. It makes my init.el file simpler and more coherent. Take a look at Athalye’s post for a bit more information.

This entry was posted in General and tagged . Bookmark the permalink.