Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Provision Emacs instances and stuff on top of it with Vagrant
Ruby Puppet Shell
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


make Emacs provisioning boxes.

This a vagrant/puppet/rake mish-mash to allow vagrant boxes to be provisioned with Emacs and your own testable script run inside them.

That sounds like a lot of Ruby. But it isn't really.

How it works

When you run


the following happens:

  • the emacs git repository (or one you specify) is cloned locally (or the local one picked up)
  • the vagrant box is downloaded from the Internet (or the cached one is selected)
  • a virtual machine is created (or the cached one picked up)
  • the virtual machine is started
  • the virtual machine is provisioned with puppet
    • installs any needed OS dependancies (defined in puppet/modules/dependancies)
    • installs emacs from the local emacs git repository
    • pulls or clones your specified repo
    • runs:
emacs -Q --script {your specified repo}/build.el

A full example

rake emacs_git_url=~/emacs-src.git myrepo=git://

In this example we already have the Emacs git repository locally, so we pass that in.

The myrepo is also specified, this one is very simple.


The myrepo MUST be a git read-only repository.

How long does it take?

Exclusding Emacs repository download time and vagrant box fetch time, provisioning the entire example Emacs environment took 32minutes on my acer laptop.

Something went wrong with that request. Please try again.