8.3 Where can I get Emacs Lisp packages that don’t come with Emacs?

The easiest way to add more features to your Emacs is to use the command M-x list-packages. This contacts the GNU ELPA and NonGNU ELPA (“Emacs Lisp Package Archive”) servers and fetches the list of additional packages that they offer. You can browse the resulting *Packages* buffer to see what is available, and then Emacs can automatically download and install the packages that you select. See Packages in The GNU Emacs Manual.

GNU ELPA contains GNU packages that are available for use with Emacs, but are distributed separately from Emacs itself, for reasons of space, etc. NonGNU ELPA contains a selection of third-party packages that can not be included in GNU ELPA because their copyright has not yet been assigned to the Free Software Foundation.2

The GNU Emacs sources mailing list is automatically sent an email when a new version of a GNU ELPA or NonGNU ELPA package is released.3

There are other Emacs Lisp package archives. To use additional archives, you can customize the package-archives variable. Those archives have no affiliation with GNU Emacs, and we do not monitor how they are maintained. They may pay close attention to correctness and safety of the code, or they may give only cursory attention.

Also, packages hosted on these other archives may encourage or require you to install and use nonfree programs. Unless you can verify that a package is free software, and that it functions without installing any nonfree software, we recommend for your freedom’s sake that you stay away from it.

The Emacs Wiki contains pointers to some additional extensions. WikEmacs is an alternative wiki for Emacs.

It is impossible for us to list here all the sites that offer Emacs Lisp packages. If you are interested in a specific feature, then after checking Emacs itself, GNU ELPA, and NonGNU ELPA, a web search is often the best way to find results.


Footnotes

(2)

For more information, see Why the FSF Gets Copyright Assignments from Contributors.

(3)

It used to be an official place where people could post or announce their extensions to Emacs. That is still allowed, but exceedingly rare these days.