# Install agda with Homebrew, apt, dnf, Nix, pacman

Dependently typed functional programming language. Version 2.8.0-r3 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:agda
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install agda
```

  Evidence: local Homebrew formula metadata

### Linux

- Debian apt (92%):

```sh
sudo apt install agda
```

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

- dnf (92%):

```sh
sudo dnf install Agda
```

  Evidence: Fedora Rawhide package metadata: Agda from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#agda
```

  Evidence: nixpkgs package indexes: agda from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- pacman (92%):

```sh
sudo pacman -S agda
```

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

## Package facts

- **Package key:** brew:agda
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/agda>
- **Version:** 2.8.0-r3
- **Source summary:** Dependently typed functional programming language
- **Homepage:** <https://wiki.portal.chalmers.se/agda/>
- **Repository:** <https://github.com/agda/agda>
- **Upstream docs:** <https://agda.readthedocs.io/en/latest>
- **License:** MIT AND BSD-3-Clause
- **Source archive:** <https://github.com/agda/agda/archive/refs/tags/v2.8.0-r3.tar.gz>
- **Last updated:** 2026-06-22T14:02:41-07:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- agda (cli)
- agda-mode (cli)
- agda2hs (cli)
- agda (alias)
- agda-mode (alias)
- agda2hs (alias)

## Dependencies

- ghc@9.12
- gmp
- icu4c@78

## Build dependencies

- cabal-install
- emacs
- pkgconf

## Uses from macOS

- libffi
- ncurses

## Install behavior

- Post-install hook: not defined
- Caveats: To use the installed Agda libraries, execute the following commands: mkdir -p $HOME/.config/agda cp $HOMEBREW_PREFIX/opt/agda/share/agda/example-libraries $HOME/.config/agda/libraries cp $HOMEBREW_PREFIX/opt/agda/share/agda/example-defaults $HOME/.config/agda/defaults You can then inspect the copied files and customize them as needed. If you have upgraded your Agda installation from a previous version, you may need to redo this.
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.8.0-r3
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://github.com/agda/agda
- Upstream latest detected: v2.8.0-r3 (current)
## Project history and usage

Agda is a dependently typed programming language and interactive theorem prover rooted in the Gothenburg tradition of Martin-Lof type theory systems. It is both a language-runtime package and a proof-assistant package, with an interactive editor workflow and a library system based on .agda-lib files.

### Project history

The official history page traces the lineage back to proof assistants based on Martin-Lof type theory developed in Gothenburg since 1983, followed by intensional dependent type theory systems around 1990 such as ALF. In the mid-1990s, prototypes and redesigns explored theory mechanisms, proof editors, and type checking with metavariable constraints.

The original Agda, now often called Agda 1, was implemented in Haskell by Catarina Coquand. In 2004 the Programming Logic Group began collaborating with AIST in Japan, and the Agda Implementors Meetings started as biannual meetings alternating between Sweden and Japan.

Work on the current Agda system began after the 2005 AgdaLight prototype by Ulf Norell and Andreas Abel. Ulf Norell's 2007 thesis, 'Towards a practical programming language based on dependent type theory', is named by the official history page as a main reference for Agda 2.

### Adoption history

Agda's adoption has grown through academic type theory, dependently typed programming, proof engineering, and formalized mathematics communities. The official wiki says the center of development is the Logic and Types group at Chalmers and Gothenburg University, while GitHub metadata shows a broad open-source contributor base.

As a package, Agda is visible across Haskell and OS package ecosystems. The README links Hackage and Stackage badges, the official installation docs describe binary releases, source builds with cabal and Nix, and a Python installer, and the supplied batch facts list Homebrew, Debian, Fedora, Nix, Arch, and Ubuntu.

### How it is used

Users run agda to type-check files, use agda-mode or another editor integration for interactive development, and manage libraries through .agda-lib files plus AGDA_DIR/libraries and AGDA_DIR/defaults files. On Unix-like systems AGDA_DIR defaults to ~/.config/agda, with fallback behavior for ~/.agda; on Windows it defaults under AppData/Roaming/agda.

Agda code often depends on the standard library but the official installation page notes that the standard library is not necessarily bundled with every Agda distribution. The package-system documentation therefore matters to packagers and users because it defines how installed libraries become visible to the type checker.

### Why package nerds care

Agda is one of those packages where the executable is only half the story: editor integration, Unicode input, library metadata, GHC compatibility, data files, standard-library versioning, and release notes all affect whether users can actually type-check projects.

The 2.8.0 release notes are especially package-relevant because they say Agda became a self-contained single binary and mention behavior around data files and library builds. That kind of upstream packaging change directly affects formulae, distro packages, and reproducible development environments.

### Timeline

- 1983: Gothenburg work on Martin-Lof type theory proof assistants begins.
- 1990: ALF lineage of intensional dependent type theory systems begins around Gothenburg.
- 2004: Agda collaboration with AIST begins and Agda Implementors Meetings start.
- 2005: AgdaLight prototype work begins, leading toward Agda 2.
- 2007: Ulf Norell thesis on a practical dependently typed programming language published.
- 2025: Agda 2.8.0 released.

### Related projects

- ALF is the earlier Gothenburg logical framework named in the official history.
- AgdaLight is the 2005 prototype named as a direct precursor to Agda 2.
- The Agda standard library is a separately versioned library package used by many Agda projects.
- Rocq, Epigram, Matita, and NuPRL are listed by the official wiki as related dependent-type proof assistants.

### Sources

- <https://agda.readthedocs.io/en/latest/getting-started/what-is-agda.html>
- <https://agda.readthedocs.io/en/latest/tools/package-system.html>
- <https://github.com/agda/agda/releases/tag/v2.8.0>
- <https://wiki.portal.chalmers.se/agda>
- <https://wiki.portal.chalmers.se/agda/Main/History>
- source_facts.package-manager


## 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: .agda-lib, ~/.config/agda/libraries, ~/.config/agda/libraries-VERSION, ~/.config/agda/defaults, ~/.config/agda/defaults-VERSION, ~/.agda
- Windows: .agda-lib, C:\Users\USERNAME\AppData\Roaming\agda\libraries, C:\Users\USERNAME\AppData\Roaming\agda\libraries-VERSION, C:\Users\USERNAME\AppData\Roaming\agda\defaults, C:\Users\USERNAME\AppData\Roaming\agda\defaults-VERSION
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** agda
- **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 - agda - 2.6.4.3-1: normalized package name match | Debian stable package indexes: agda from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | dependently typed functional programming language | https://wiki.portal.chalmers.se/agda/
- Debian apt - agda-bin - 2.6.4.3-1+b2: normalized package name match | Debian stable package indexes: agda-bin from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | commandline interface to Agda | https://wiki.portal.chalmers.se/agda/
- Debian apt - elpa-agda2-mode - 2.6.4.3-1: normalized package name match | Debian stable package indexes: elpa-agda2-mode from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | dependently typed functional programming language — emacs mode | https://wiki.portal.chalmers.se/agda/
- Debian apt - libghc-agda-dev - 2.6.4.3-1+b2: normalized package name match | Debian stable package indexes: libghc-agda-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | dependently typed functional programming language | https://wiki.portal.chalmers.se/agda/
- Debian apt - libghc-agda-doc - 2.6.4.3-1: normalized package name match | Debian stable package indexes: libghc-agda-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | dependently typed functional programming language; documentation | https://wiki.portal.chalmers.se/agda/
- Nix - agda: normalized package name match | nixpkgs package indexes: agda from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- Ubuntu apt - agda - 2.6.3-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: agda from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | dependently typed functional programming language | https://wiki.portal.chalmers.se/agda/
- Ubuntu apt - agda-bin - 2.6.3-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: agda-bin from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | commandline interface to Agda | https://wiki.portal.chalmers.se/agda/
- Ubuntu apt - elpa-agda2-mode - 2.6.3-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: elpa-agda2-mode from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | dependently typed functional programming language — emacs mode | https://wiki.portal.chalmers.se/agda/
- Ubuntu apt - libghc-agda-dev - 2.6.3-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libghc-agda-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | dependently typed functional programming language | https://wiki.portal.chalmers.se/agda/
- Ubuntu apt - libghc-agda-doc - 2.6.3-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libghc-agda-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | dependently typed functional programming language; documentation | https://wiki.portal.chalmers.se/agda/
- dnf - Agda - 2.8.0-59.fc44: normalized package name match | Fedora Rawhide package metadata: Agda from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A dependently typed functional programming language and proof assistant | https://hackage.haskell.org/package/Agda
- dnf - Agda-common - 2.8.0-59.fc44: normalized package name match | Fedora Rawhide package metadata: Agda-common from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Agda common files | https://hackage.haskell.org/package/Agda
- dnf - ghc-Agda - 2.8.0-59.fc44: normalized package name match | Fedora Rawhide package metadata: ghc-Agda from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Haskell Agda library | https://hackage.haskell.org/package/Agda
- dnf - ghc-Agda-devel - 2.8.0-59.fc44: normalized package name match | Fedora Rawhide package metadata: ghc-Agda-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Haskell Agda library development files | https://hackage.haskell.org/package/Agda
- dnf - ghc-Agda-doc - 2.8.0-59.fc44: normalized package name match | Fedora Rawhide package metadata: ghc-Agda-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Haskell Agda library documentation | https://hackage.haskell.org/package/Agda


## 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.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [ghc@9.12](https://www.automicvault.com/pkg/brew/ghc-9-12/) - Runtime dependency declared by Homebrew.
- [cabal-install](https://www.automicvault.com/pkg/brew/cabal-install/) - Build dependency declared by Homebrew.
- [emacs](https://www.automicvault.com/pkg/brew/emacs/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [idris2](https://www.automicvault.com/pkg/brew/idris2/) - Shares av.db curated category or tags: cli, dependent-types, functional-programming, language-runtime, programming-language.
- [ats2-postiats](https://www.automicvault.com/pkg/brew/ats2-postiats/) - Shares av.db curated category or tags: cli, dependent-types, language-runtime, programming-language.
- [coconut](https://www.automicvault.com/pkg/brew/coconut/) - Shares av.db curated category or tags: cli, functional-programming, language-runtime, programming-language.
- [elixir](https://www.automicvault.com/pkg/brew/elixir/) - Shares av.db curated category or tags: cli, functional-programming, language-runtime, programming-language.
- [elm](https://www.automicvault.com/pkg/brew/elm/) - Shares av.db curated category or tags: cli, functional-programming, language-runtime, programming-language.
- [flix](https://www.automicvault.com/pkg/brew/flix/) - Shares av.db curated category or tags: cli, functional-programming, language-runtime, programming-language.
- [frege](https://www.automicvault.com/pkg/brew/frege/) - Shares av.db curated category or tags: cli, functional-programming, language-runtime, programming-language.
- [koka](https://www.automicvault.com/pkg/brew/koka/) - Shares av.db curated category or tags: cli, functional-programming, language-runtime, programming-language.
- [urweb](https://www.automicvault.com/pkg/brew/urweb/) - Local package facts share a topical domain. Shared terms: cli, functional, functional-programming, gmp, icu4c.
- [purescript](https://www.automicvault.com/pkg/brew/purescript/) - Local package facts share a topical domain. Shared terms: cli, functional, functional-programming, gmp, language.

## Combined YAML source

View the package source record on GitHub. [combined/agda.yml](https://github.com/automic-vault/db/blob/main/combined/agda.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
