for automating Clojure projects without setting your hair on fire
Leiningen is the easiest way to use Clojure. With a focus on project automation and declarative configuration, it gets out of your way and lets you focus on your code.
(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.
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.