Skip to content

Custom Melpa Archive

Vladimir Panteleev edited this page Dec 10, 2017 · 2 revisions


Some times you would have the need of having your own melpa archive with some custom recipes not necessarily at the same version than other public melpa repos. For example for sharing a controlled emacs development environment on a corporate setting.


To create a custom melpa archive, follow these simple steps:

# obtain a clone of melpa at a custom location, in this case this repo will be shared inside myorg corporation git repo.
$ git clone myorg-melpa

# on a new branch, remove all melpa recipes 
$ cd myorg-melpa
$ git checkout -b myorg
$ git rm recipes/*
$ git commit -am 'removed all recipes'

# create your custom recipes and build the package-archive
$ $EDITOR recipes/myorg-git-workflow
$ make

Once you have built your custom Melpa archive, you're ready to tell emacs to use it:

(add-to-list 'package-archives (cons "MyOrg" (expand-file-path "/path-to/myorg-melpa/packages")) t)


If you'd like to publish a website for your ELPA:

# bootstrap JSON data
$ echo '[]' > html/download_counts.json
$ echo '{}' > html/build-status.json

# update site name and description
$ $EDITOR html/index.html
$ $EDITOR html/js/melpa.js

Then, point your webserver at the html/ directory.

Clone this wiki locally
You can’t perform that action at this time.