Hi, I'm Nick. This is my blog. I'm a life-long unschooler living in New York. You can find more about me here.
I help run the Recurse Center (YC'S10).
Follow me @nicholasbs
These instructions should get you going with an Emacs environment for writing Clojure on Mac OS X Lion. (This should work on older versions of OS X, but I've only tried it on 10.7.)
Install Homebrew. Homebrew is an awesome package manager for OS X. You can obviously skip this step if you already have it installed. Otherwise, you can install it by reading these instructions or simply running:
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"
Install a newer version of Emacs. Lion comes with an old version of Emacs (22.1.1) by default. You'll need at least version 23. Run
emacs --version to see what version you have. Homebrew currently has version 23.3.1, which you can install by running:
$ brew install emacs
emacs --version to make sure you've got a newer version now. (If not, try running
brew update to get the latest package information and then
brew upgrade emacs to install the latest packaged version.)
Install Package, an Emacs package manager
.emacs.d directory if you don't already have one and a folder to store packages in:
$ mkdir ~/.emacs.d $ mkdir ~/.emacs.d/packages
Create (or edit) your
~/.emacs.d/init.el file and put the following in it:
(add-to-list 'load-path "~/.emacs.d/packages/")
(require 'package) (add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/")) (package-initialize)
Put package.el in
paredit. Open Emacs and run:
M-x eval-buffer M-x package-refresh-contents M-x package-install clojure-mode M-x package-install paredit
Install Leiningen and swank-clojure.
$ brew install leiningen $ lein plugin install swank-clojure 1.3.3
Finally get a Clojure REPL in Emacs. You can create a Clojure project with Leiningen with the following command (replace myproject with your project name):
$ lein new myproject
When editing a .clj file in Emacs you can run the following to get a REPL:
You should now have syntax highlighting, proper indentation, file navigation, and an enhanced REPL for Clojure in Emacs. You can learn more about using the REPL here.