If you use submodule management, you will need to implement the above operations yourself, which will be described later. This allows the user to use the functions provided by the package directly.
Emacs load path download#
Emacs load path how to#
Package loading principlesįor packages managed by package.el, users do not need to know how Emacs loads packages in order to use them, but they need to know the details of how to manage them completely on their own. No more worries about being interrupted by tools. You can then work on upgrades at your leisure, and if you have a problem with an upgrade, you can just fall back to the previous commit. I currently do not use these solutions, but use git’s own submodule to manage some heavily used packages (e.g. There are some solutions in the community, such as straight, borg, but to avoid introducing new problems and to reduce the learning burden.
Emacs load path install#
(length package-alist) counts the number of packages installed via package.el, which is 137 for me.Īlthough package.el provides a convenient way to install packages, it does not provide versioning, which is the most basic feature of any package manager, and I’ve had many times where the feature failed due to package upgrades, which is very frustrating, see here.
It is no exaggeration to say that the high degree of extensibility is the main reason why Emacs continues to live and die for decades.
This article will introduce my personal experience in optimizing configuration, the main content: package loading principles and management practices, I hope it will be of some help to readers in optimizing their own configurations. As you get deeper into Emacs, the configuration becomes more complex, and it is hard to imagine continuing to have fun with Emacs without refactoring your previously disorganized configuration. Generally speaking, a novice’s configuration is pieced together, which is the fastest and most efficient way to learn. For Emacs users, optimizing their configuration is fun and a sure way to become an Emacs expert.