The whole #!
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

My Emacs Configuration


This is my Emacs configuration, a somewhat simple config compared to most. It’s geared towards OS X, although it should work on most *nix configs. I’ve never tried this on Windows, so YMMV.

The entire configuration is tangled using org-babel-load-file, which generates a file named from the emacs-lisp source blocks. You can find the init org file here - my literate Emacs.

This configuration aims to provide you with a bare-bones configuration with sane defaults, built upon package.el.

Although Emacs has support for many programming languages, this config is geared towards the following languages and workflows:

  • Python
  • CSS / LESS
  • JavaScript
  • Markdown
  • Clojure


To install, it’s recommended to clone this repo wherever you prefer and symlink the directory to ~/.emacs.d.

git clone

There is a Makefile provided that will create the symlink for you at ~/.emacs.d:

make setup

My current Emacs distro of choice is:

brew install emacs --with-cocoa

Please note, this requires homebrew to be installed.


There are a few requirements needed for this config to properly run. All of these prerequisites can be installed via homebrew and npm.

brew install gpg
brew install ag
brew install node
npm install jshint

For using python-mode and elpy, you’ll need to have pip installed and install the following packages:

pip install rope
pip install flake8


To update the packages, type M-x list-packages, then U followed by x.

I recently started to use @Malabarba’s excellent paradox, which can be invoked similarly as such - M-x paradox-list-packages, then U followed by x.