clojure lein: How do I include source from another directory in my project?

You can use checkout dependencies. From Leiningen's README:

Q: I want to hack two projects in parallel, but it's annoying to switch between them.

A: Use a feature called checkout dependencies. If you create a directory called checkouts in your project root and symlink some other project roots into it, Leiningen will allow you to hack on them in parallel. That means changes in the dependency will be visible in the main project without having to go through the whole install/switch-projects/deps/restart-repl cycle. Note that this is not a replacement for listing the project in :dependencies; it simply supplements that for tighter change cycles.


Back when I was using lein I simply put symlinks in my project directory to the checked out Overtone source dir.

I use cake for my Overtone hacking these days which has support for adding external projects to the class path. You just need to add the path to project.classpath in your project's .cake/config file:

project.classpath = /Users/sam/Development/improcess/lib/overtone/src: