Skip to content

A small, locally-installable pinned Emacs package archive

License

Notifications You must be signed in to change notification settings

ocelot-project/local-elpa

Repository files navigation

local-elpa

This is a locally-installable Emacs package archive with just enough packages to successfully bootstrap both the Spacemacs and Prelude distributions, as well as a variety of other Emacs configurations based on common packages. A local package archive is useful as a fallback to make an Emacs installation work without a stable network connection, as well as to pin a set of packages to known-good versions. This is also useful for Nix-style operating systems, as the set of pinned packages works where specifying a full set of fixed-point Lisp dependencies is inconvenient or impossible, and avoids the issue of packages in public archives disappearing or having their contents changed.

Usage

Clone this repository to your system, then update your package-archives Emacs Lisp variable to reference local-elpa. For example, to make local-elpa the last fallback package archive in case of network instability, ensure this Lisp snippet runs before your configuration calls package-initialize:

(add-to-list 'package-archives '("local" . "/path/to/local-elpa/packages")
             'append)

Updating Packages

To regenerate local-elpa with the latest packages from its upstream archives, use the command genepkg included in this repository.

With Nix

Inside the root of the local-elpa repository, run:

nix-shell --run genepkg

Support for running genepkg via lorri is also available.

Without Nix

Ensure the elpa-mirror and quelpa packages are available to Emacs, then change directory to the repository root and run:

emacs --batch --load genepkg-config.el --load genepkg.el

About

A small, locally-installable pinned Emacs package archive

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published