Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

All the code you need to get started, with an emphasis on dynamic languages.

branch: master

My Fork of the Emacs Starter Kit

This is Mudphone's RUNA fork of the Emacs Starter Kit (by Technomancy). See README_orig.markdown for the basics. Or, checkout the original project page.


  1. Clone or fork this project.

    Forking is easier, as it will automatically create a github project for you (and you'll show up in the network graph).

  2. Create a .emacs.d link to this project.

    For example, if you forked and cloned the project as:

    $ cd ~/work/emacs
    $ git clone git://

    If you already have a .emacs.d directory, you should rename it (unless you don't want it any more).

    Then, you can create your link like so:

    $ cd ~/.
    $ ln -s ~/work/emacs/emacs-starter-kit .emacs.d
  3. Update ELPA Packages

    Start Emacs... you'll see a lot of compiling of default starter kit packages.

    M-x package-list-packages
    i - next to each package you want
    x - install selected packages

    I recommend installing one package at a time, as opposed to all of them at once. This way, you'll know who's to blame if something goes wrong.

    It is also a good idea (IMHO) to close an re-open Emacs between each package install. This may seem drastic, but in my experience it helps to find problems with package installs early. I'm open to suggestions if this is insane.

    At times, packages don't install cleanly. I have not investigated why this is the case. When this happens it's relatively painless to retry the install. If you're really stuck, you can also delete the package (manually) from the ELPA directory (and install again). Note, the in-Emacs package delete feature doesn't seem to work at all.

    Additionally, I recommend installing the packages below in the order listed.

    Recommended non-default packages:

    • clojure-mode
    • clojure-test-mode
    • magit
    • rinari
    • yasnippet-bundle

    Automatically installed by the above modes:

    • slime
    • slime-repl
    • swank-clojure

    Note: It is not required to install paredit here. (It's installed by the starter kit.)

  1. You must refresh all submodules:

    $ cd ~/.emacs.d
    $ git submodule init
    $ git submodule update
  2. Links

    • Create links for:

      vendor/mudphone/user.el --> ~/.emacs.d/$USER.el
      vendor/mudphone/user/ --> ~/.emacs.d/$USER
    • If you work for RUNA, or want to use slime outside of swank-clojure-project, create this link too:

      vendor/swank-clojure/ --> ~/.swank-clojure

Feature Highlights


RSpec-Mode: vendor/rspec-mode (submodule) allows for single spec or whole file spec running

    (define-key map (kbd "\C-c s") 'run-specs)
    (define-key map (kbd "\C-c f") 'run-focused-spec)


  1. Personal: vendor/mudpone/user.el

    I create a symlink to my custom configs from .emacs.d/$USER.el

  2. Personal: vendor/mudphone/user

    I create a symlink to my custom load dir from .emacs.d/$USER

  3. Runa: vendor/mudphone/runa.el

    customized RUNA keyword syntax highlighting

  4. Maxframe: vendor/mudphone/maxframe.el

    maximizes emacs frame on start-up

  5. Textmate: vendor/mudphone/textmate.el

    several Textmate feature emulations

      (define-key map [(meta return)] 'textmate-next-line)
      (define-key map [(control tab)] 'textmate-shift-right)
      (define-key map [(control shift tab)] 'textmate-shift-left)
      (define-key map [(control meta \;)]
      (define-key map [(meta t)] 'textmate-goto-file)


Instructions for using customizations:

ERC (for IRC, Yahoo, & Jabber chat):
  • .authinfo.template
  • .erc-auth.
  • ercrc.el
  • eshell-customizations.el
Gnus (for Gmail):
  • .gnus.el.template

Figure out how to add Skype to bitlbee/ERC.

In the meantime, check the comments at the top of these files for info.

Happy hacking!!!

Something went wrong with that request. Please try again.