Skip to content

GitHub Action

Set up Emacs

v3.0 Latest version
Use latest version

Set up Emacs

Install a specific Emacs version for use in your workflow


Copy and paste the following snippet into your .yml file.

- name: Set up Emacs
  uses: purcell/setup-emacs@v3.0
Learn more about this action in purcell/setup-emacs
Choose a version

Build Status Support me

A Github Action that installs a specific emacs version

Uses nix-emacs-ci to provide binaries for a number of different Emacs versions.

Since that project uses Nix, Nix will be installed automatically if necessary, along with the "cachix" tool which enables downloads of the cached binaries. If you already have nix and possibly cachix installed, the existing installations will be used.

Note also that only Linux and MacOS are supported, since Nix is not available on Windows.

Check out examples of using this Action in the wild.

See the actions tab for runs of this action! 🚀


uses: purcell/setup-emacs@master
  version: 24.5

The emacs executable on the path will then be the requested version. For a list of available versions, please see the nix-emacs-ci project.

For an example of real-life usage, see the Actions config for package-lint.

Note about compiling binary emacs modules

Here's an example of a project which compiles binary modules against an Emacs installed with this method.

💝 Support this project and my other Open Source work via Patreon

💼 LinkedIn profile

🐦 @sanityinc