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
Marmalade is designed to be easy to get up and running on your own server. It only takes six steps:
- Install node.js.
- Install the Node package manager.
- Install MongoDB.
hg clone https://marmalade.googlecode.com/hg/ marmalade
npm install ./marmalade
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
(currently the official ELPA
package.el doesn't support multiple archives).
Add this line to your
(add-to-list 'package-archives '("marmalade" . "http://your.domain/packages/"))
Your archive is now active! Run
M-x package-list and see all the new packages,
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.