Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
57 lines (39 sloc) 2.11 KB

marmalade(7) -- spreadable elisp


Marmalade is an Emacs Lisp package server that allows authors to easily upload their packages. It follows the protocol expected by package.el, the standard Emacs package manager, and so can be used in conjunction with the official GNU repository or the original ELPA repository.


Marmalade is designed to be easy to get up and running on your own server. It only takes six steps:

  1. Install node.js.
  2. Install the Node package manager.
  3. Install MongoDB.
  4. hg clone marmalade
  5. npm install ./marmalade
  6. marmalade


Get package.el

To use Marmalade, you first need package.el. If you're using Emacs 24 or later, you've already got it. Otherwise, download it from here (currently the official ELPA package.el doesn't support multiple archives).

Enable the Archive

Add this line to your .emacs:

(add-to-list 'package-archives '("marmalade" . "http://your.domain/packages/"))

That's It!

Your archive is now active! Run M-x package-list and see all the new packages, and run M-x package-install to install them.


The primary goal of Marmalade is to make it easy to distribute Emacs Lisp code. Because Marmalade uses package.el's package format, it's easy to package existing Elisp code. In addition, anyone can post packages to Marmalade, either via the website or via the API.

Emacs Lisp is unusual in that there's a lot of code out there that is useful but no longer actively maintained. To make this code more widely available, users are encouraged to upload even packages they didn't write (as long as those packages allow redistribution). Marmalade makes it easy to add the original author as an owner should they take an interest in the package.

Something went wrong with that request. Please try again.