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

Build tool for Clojure. Version 2.13.0 via Homebrew; verified 2026-06-15.

## 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/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-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','kubectx'

## Package facts

- **Package key:** brew:leiningen
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/leiningen>
- **Version:** 2.13.0
- **Source summary:** Build tool for Clojure
- **Homepage:** <https://codeberg.org/leiningen/leiningen>
- **Repository:** <https://github.com/technomancy/leiningen>
- **Upstream docs:** <https://github.com/technomancy/leiningen#readme>
- **License:** EPL-1.0
- **Source archive:** <https://github.com/technomancy/leiningen/archive/refs/tags/2.13.0.tar.gz>
- **Last updated:** 2026-06-15T10:20:20-04:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- lein (cli)
- lein (alias)

## Dependencies

- openjdk

## Install behavior

- Post-install hook: not defined
- Caveats: Dependencies will be installed to: $HOME/.m2/repository To play around with Clojure run `lein repl` or `lein help`.
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.13.0
- Package-manager updated: 2026-06-15
- Local data: ok
- Upstream repository: https://github.com/technomancy/leiningen
- Upstream latest detected: 2.13.0 (current)
## 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
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** leiningen
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## 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.12.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.2: normalized package name match | openSUSE Tumbleweed package metadata: leiningen from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-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','kubectx'


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [openjdk](https://www.automicvault.com/pkg/brew/openjdk/) - Runtime dependency declared by Homebrew.
- [maven](https://www.automicvault.com/pkg/brew/maven/) - Shares av.db curated category or tags: build-tool, build-tools, cli, dependency-management, developer-tools.
- [sbt](https://www.automicvault.com/pkg/brew/sbt/) - Shares av.db curated category or tags: build-tool, build-tools, cli, dependency-management, developer-tools.
- [ant](https://www.automicvault.com/pkg/brew/ant/) - Shares av.db curated category or tags: build-tool, build-tools, cli, developer-tools.
- [dub](https://www.automicvault.com/pkg/brew/dub/) - Shares av.db curated category or tags: build-tool, build-tools, cli, developer-tools.
- [fobis](https://www.automicvault.com/pkg/brew/fobis/) - Shares av.db curated category or tags: build-tool, build-tools, cli, developer-tools.
- [fypp](https://www.automicvault.com/pkg/brew/fypp/) - Shares av.db curated category or tags: build-tool, build-tools, cli, developer-tools.
- [gradle](https://www.automicvault.com/pkg/brew/gradle/) - Shares av.db curated category or tags: build-tools, cli, dependency-management, developer-tools.
- [grunt-cli](https://www.automicvault.com/pkg/brew/grunt-cli/) - Shares av.db curated category or tags: build-tool, build-tools, cli, developer-tools.
- [mill](https://www.automicvault.com/pkg/brew/mill/) - Local metadata places this package in an adjacent workflow. Shared terms: build, build-tool, build-tools, cli, developer.

## Combined YAML source

View the package source record on GitHub. [combined/leiningen.yml](https://github.com/automic-vault/db/blob/main/combined/leiningen.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
