for automating Clojure projects without setting your hair on fire

(defproject leiningen.org "1.0.0"
  :description "Generate static HTML for https://leiningen.org"
  :dependencies [[enlive "1.0.1"]
                 [cheshire "4.0.0"]
                 [org.markdownj/markdownj "0.3.0-1.0.2b4"]]
  :main leiningen.web)

First check your package manager to see whether it includes Leiningen. If not, don't worry; a manual install is easy.

Leiningen and Clojure require Java; ideally OpenJDK. Get this from your package manager, or download manually if you have to.

  1. Download the lein script (or on Windows lein.bat if you don't use WSL)
  2. Place it on your $PATH where your shell can find it (eg. /usr/local/bin/)
  3. Set it to be executable (sudo chmod a+x /usr/local/bin/lein)
  4. Run it (lein) and it will download the self-install package

The tutorial is the best place to start. If you have Leiningen installed, you can read the tutorial by running lein help tutorial. It does not cover learning the language itself; good Clojure documentation can be found elsewhere.

Running lein help faq will get you the FAQ. Documentation for each individual task is available via lein help $TASK. You can also see the sample project.clj file containing a reference of most project settings by running lein help sample.

More: profiles | deploying libraries | writing plugins | plugin list

At the time of this writing Leiningen is the most widely-contributed-to Clojure project. We welcome potential contributors and do our best to make it easy to help out.

Discussion occurs primarily in the #leiningen channel on Libera.Chat.

Issues should be reported on the issue tracker.

The canonical repository is on Codeberg but a mirror will be left up on Github for a while for people who have not yet created a Codeberg account.