# Install leiningen with Homebrew, apk, apt, MacPorts, Nix, pacman, zypper, scoop, chocolatey

Build tool for Clojure. Version 2.13.0 via Homebrew; verified 2026-07-13. Also installable with debian: sudo apt install leiningen.

## Install

```sh
sudo av install brew:leiningen
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install leiningen
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install leiningen
```

  Evidence: MacPorts ports tree: devel/leiningen/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add leiningen
```

  Evidence: Alpine Linux edge package indexes: leiningen from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install leiningen
```

  Evidence: Debian stable package indexes: leiningen from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#leiningen
```

  Evidence: nixpkgs package indexes: pkgs/by-name/le/leiningen/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S leiningen
```

  Evidence: Arch Linux sync databases: leiningen from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install leiningen
```

  Evidence: openSUSE Tumbleweed package metadata: leiningen from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install main/leiningen
```

  Evidence: Scoop official bucket manifest trees: bucket/leiningen.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- Chocolatey (92%):

```sh
choco install Lein
```

  Evidence: Chocolatey community package catalog: Lein from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','kindle'

## Package facts

- **Package key:** brew:leiningen
- **Package manager:** Homebrew
- **Version:** 2.13.0
- **Source summary:** Build tool for Clojure
- **Homepage:** <https://codeberg.org/leiningen/leiningen>
- **Repository:** <https://github.com/technomancy/leiningen>
- **Last updated:** 2026-07-13T09:26:37Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- lein (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 2.13.0
## Project history and usage

Leiningen is the long-running Clojure build, dependency, REPL, test, packaging, and project automation tool best known by its `lein` command and `project.clj` files.

### Project history

Phil Hagelberg created Leiningen in 2009 to make Clojure project automation less painful than hand-written Maven configuration. The official tagline, 'automating Clojure projects without setting your hair on fire,' captured the design goal: declarative Clojure configuration, automatic dependency resolution, project skeletons, testing, REPL setup, jars, and uberjars from one command-line tool.

The 1.0.0 release on 2009-12-05 already had many features that shaped Clojure projects for years: configurable source, test, and compilation paths in `project.clj`, isolated classloading, Maven-free install behavior, `lein new`, generated POM metadata, test summaries, uberjar output, plugin flexibility, and resources on the classpath. Later releases added Windows support, upgrades, profiles, plugins, deploy workflows, nREPL integration, and ongoing compatibility updates.

### Adoption history

Leiningen became the default entry point for many Clojure tutorials, libraries, and applications through the 2010s, before and alongside alternatives such as Boot and the official Clojure CLI/deps.edn tooling. Its wide package-manager availability reflects that history: installing `lein` from a system package manager remained a normal way to start working with Clojure projects.

### How it is used

Typical users run `lein new`, `lein test`, `lein repl`, `lein run`, `lein jar`, `lein uberjar`, and `lein deploy`, with project settings in `project.clj` and user or system defaults in profiles files. Credentials files under `~/.lein` support publishing workflows such as deploying artifacts to repositories.

### Why package nerds care

Leiningen is package-nerd significant because it made Maven-style dependency and artifact workflows feel native to Clojure. It linked Clojure code, Maven repositories, REPL-driven development, project templates, plugins, and uberjar packaging into one memorable command, which shaped how Clojure packages were created and consumed for more than a decade.

### Timeline

- 2009-11-17: Leiningen's release history records the early 0.5.0 release date.
- 2009-12-05: Leiningen 1.0.0 shipped with project.clj paths, isolated classloading, `lein new`, generated POM metadata, test summaries, and uberjar output.
- 2010-02-16: Leiningen 1.1.0 added `lein upgrade`, dependency exclusions, native-code dependency support, and experimental Windows support.
- 2012: Leiningen 2-era docs and profiles became central to daily Clojure workflows.
- 2021-11-11: Leiningen 2.9.8 continued the long maintenance line with dependency-resolution and install fixes.
- 2020s: The project marked Codeberg as the canonical repository while keeping GitHub pages and docs visible for existing users.

### Related projects

- Related Clojure build and dependency tools include Boot, the official Clojure CLI and deps.edn, tools.build, Maven, Gradle, Clojars, nREPL, REPL-y, and ClojureScript build tooling that often integrated through Leiningen plugins.

### Sources

- <https://codeberg.org/leiningen/leiningen>
- <https://github.com/technomancy/leiningen>
- <https://github.com/technomancy/leiningen/blob/main/NEWS.md>
- <https://github.com/technomancy/leiningen/blob/main/README.md>
- <https://leiningen.org/>
- <https://leiningen.org/profiles>
- <https://leiningen.org/tutorial>


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- generalized runtime or code generation signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: project.clj, profiles.clj, ~/.lein/profiles.clj, /etc/leiningen/profiles.clj, ~/.lein/profiles.d/

## Credential files

- Unix: ~/.lein/credentials.clj.gpg, ~/.lein/credentials.clj
## Other Package-Manager Records

- Debian apt - leiningen - 2.10.0-5: normalized package name match | Debian stable package indexes: leiningen from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Automation tool and dependency manager for Clojure projects | https://leiningen.org
- Nix - leiningen: normalized package name match | nixpkgs package indexes: pkgs/by-name/le/leiningen/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - leiningen - 2.10.0-2: normalized package name match | Ubuntu 24.04 LTS package indexes: leiningen from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Automation tool and dependency manager for Clojure projects | https://leiningen.org
- apk - leiningen - 2.12.0-r0: normalized package name match | Alpine Linux edge package indexes: leiningen from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Automate Clojure Projects | https://leiningen.org/
- apk - leiningen-bash-completion - 2.12.0-r0: normalized package name match | Alpine Linux edge package indexes: leiningen-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Bash completions for leiningen | https://leiningen.org/
- apk - leiningen-doc - 2.12.0-r0: normalized package name match | Alpine Linux edge package indexes: leiningen-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Automate Clojure Projects (documentation) | https://leiningen.org/
- apk - leiningen-zsh-completion - 2.12.0-r0: normalized package name match | Alpine Linux edge package indexes: leiningen-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Zsh completions for leiningen | https://leiningen.org/
- pacman - leiningen - 2.13.0-1: normalized package name match | Arch Linux sync databases: leiningen from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Automate Clojure projects | https://codeberg.org/leiningen/leiningen
- zypper - leiningen - 2.12.0-1.3: normalized package name match | openSUSE Tumbleweed package metadata: leiningen from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Automation for Clojure projects | https://leiningen.org/
- MacPorts - leiningen: normalized package name match | MacPorts ports tree: devel/leiningen/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/leiningen: normalized package name match | Scoop official bucket manifest trees: bucket/leiningen.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- Chocolatey - Lein: installed executable or alias match | Chocolatey community package catalog: Lein from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','kindle'


## Combined YAML source

View the package source record on GitHub. [combined/leiningen.yml](https://github.com/mxcl/pkgdb/blob/main/combined/leiningen.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
