# Install fennel with Homebrew, apk, apt, dnf, pacman

Lua Lisp Language. Version 1.6.1 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:fennel
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install fennel
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add fennel
```

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

- Debian apt (92%):

```sh
sudo apt install fennel
```

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

- dnf (92%):

```sh
sudo dnf install fennel
```

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

- pacman (92%):

```sh
sudo pacman -S fennel
```

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

## Package facts

- **Package key:** brew:fennel
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/fennel>
- **Version:** 1.6.1
- **Source summary:** Lua Lisp Language
- **Homepage:** <https://fennel-lang.org>
- **Repository:** <https://github.com/bakpakin/Fennel>
- **Upstream docs:** <https://fennel-lang.org/>
- **License:** MIT
- **Source archive:** <https://github.com/bakpakin/Fennel/archive/refs/tags/1.6.1.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- fennel (cli)
- fennel (alias)

## Dependencies

- lua

## Build dependencies

- luajit

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.6.1
- Local data: ok
- Upstream repository: https://github.com/bakpakin/Fennel
- Upstream latest detected: 1.6.1 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

Fennel is a Lisp-family programming language that compiles to Lua. Its project identity is tied to small, embeddable tooling: the README describes it as a one-file library and executable, with full Lua compatibility, compile-time macros, and compiled output that does not require Fennel at runtime.

### Project history

The public GitHub repository dates to 2016, while the project's release history records early public releases beginning with 0.1.0 in November 2018. The language developed around the idea that Lua's runtime and embedding story could be paired with Lisp syntax, macros, destructuring, pattern matching, and a stricter approach to accidental globals.

Fennel reached 1.0.0 in December 2021, after several years of 0.x releases. Its changelog shows steady post-1.0 language and tooling work through the 1.4, 1.5, and 1.6 series, including compiler API additions, REPL improvements, macro-related changes, better source-map-aware debugging helpers, and compatibility work across Lua versions.

### Adoption history

Fennel's adoption path has been typical of a niche language with strong package-manager culture: source builds and a self-contained executable first, then distribution through language and OS package channels. Homebrew packages it as `fennel`, and the input package metadata also records packages in apk, Debian, Fedora, and Arch ecosystems.

The project documentation emphasizes a live browser REPL, a page for inspecting generated Lua, IRC and Matrix community channels, a mailing list, and a wiki. That gives Fennel a small but durable language-community footprint rather than the adoption profile of a general-purpose mainstream runtime.

### How it is used

Users run `fennel` as a compiler, REPL, and scripting tool, or embed the one-file library into Lua-hosted applications. The README highlights that Fennel code can call Lua libraries directly and can be compiled so shipped programs have no runtime dependency on Fennel itself.

Fennel tends to appear where Lua is already attractive: games, editors, small tools, embeddable application scripting, and environments where LuaJIT or stock Lua is already available. Package users care that the command-line tool is easy to install while still producing plain Lua output.

### Why package nerds care

For package maintainers, Fennel is interesting because it is both a language implementation and a small CLI artifact. It has minimal runtime expectations compared with larger language stacks, but it still needs careful Lua-version compatibility and documentation around source builds, standalone scripts, and generated Lua.

Its presence across Homebrew and several Linux distributions makes it a representative example of a niche programming language that crossed from source-only usage into normal OS package workflows without becoming a heavyweight runtime.

### Timeline

- 2016: Public GitHub repository created.
- 2018: Fennel 0.1.0 appears in the project release history.
- 2021: Fennel 1.0.0 released.
- 2024: Fennel 1.5.0 adds compiler, REPL, and language improvements.
- 2025: Fennel 1.6.0 continues compiler API and Lua compatibility work.

### Related projects

- Fennel is directly related to Lua and LuaJIT because it compiles to Lua and inherits Lua's runtime ecosystem. It is also related to editor and language-server tooling such as fennel-ls, which exists to make Fennel development more comfortable in LSP-aware editors.

### Sources

- <https://github.com/bakpakin/Fennel>
- <https://github.com/bakpakin/Fennel/blob/main/README.md>
- <https://github.com/bakpakin/Fennel/blob/main/changelog.md>
- <https://api.github.com/repos/bakpakin/Fennel>
- <https://formulae.brew.sh/formula/fennel>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

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

## Other Package-Manager Records

- Debian apt - fennel - 1.5.3+dfsg-2: normalized package name match | Debian stable package indexes: fennel from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Lisp-based programming language for the Lua runtime | https://fennel-lang.org
- apk - fennel - 1.6.1-r0: normalized package name match | Alpine Linux edge package indexes: fennel from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | A Lua Lisp Language | https://fennel-lang.org
- apk - fennel-doc - 1.6.1-r0: normalized package name match | Alpine Linux edge package indexes: fennel-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | A Lua Lisp Language (documentation) | https://fennel-lang.org
- apk - fennel-lua - 1.6.1-r0: normalized package name match | Alpine Linux edge package indexes: fennel-lua from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Fennel Lua Library | https://fennel-lang.org
- apk - fennel5.1 - 1.6.1-r0: normalized package name match | Alpine Linux edge package indexes: fennel5.1 from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | A Lua Lisp Language for Lua 5.1 | https://fennel-lang.org
- apk - fennel5.2 - 1.6.1-r0: normalized package name match | Alpine Linux edge package indexes: fennel5.2 from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | A Lua Lisp Language for Lua 5.2 | https://fennel-lang.org
- apk - fennel5.3 - 1.6.1-r0: normalized package name match | Alpine Linux edge package indexes: fennel5.3 from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | A Lua Lisp Language for Lua 5.3 | https://fennel-lang.org
- apk - fennel5.4 - 1.6.1-r0: normalized package name match | Alpine Linux edge package indexes: fennel5.4 from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | A Lua Lisp Language for Lua 5.4 | https://fennel-lang.org
- apk - fennel5.5 - 1.6.1-r0: normalized package name match | Alpine Linux edge package indexes: fennel5.5 from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | A Lua Lisp Language for Lua 5.5 | https://fennel-lang.org
- apk - fenneljit - 1.6.1-r0: normalized package name match | Alpine Linux edge package indexes: fenneljit from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | A Lua Lisp Language for Lua jit | https://fennel-lang.org
- dnf - fennel - 1.6.1-4.fc45: normalized package name match | Fedora Rawhide package metadata: fennel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A Lisp that compiles to Lua | https://fennel-lang.org/
- pacman - fennel - 1.6.1-3: normalized package name match | Arch Linux sync databases: fennel from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A Lua Lisp language | https://fennel-lang.org


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer 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.
- [lua](https://www.automicvault.com/pkg/brew/lua/) - Runtime dependency declared by Homebrew.
- [luajit](https://www.automicvault.com/pkg/brew/luajit/) - Build dependency declared by Homebrew.
- [hy](https://www.automicvault.com/pkg/brew/hy/) - Shares av.db curated category or tags: cli, compiler, language-runtime, lisp, programming-language.
- [algol68g](https://www.automicvault.com/pkg/brew/algol68g/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [ats2-postiats](https://www.automicvault.com/pkg/brew/ats2-postiats/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [ballerina](https://www.automicvault.com/pkg/brew/ballerina/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [chapel](https://www.automicvault.com/pkg/brew/chapel/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [coconut](https://www.automicvault.com/pkg/brew/coconut/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.
- [coffeescript](https://www.automicvault.com/pkg/brew/coffeescript/) - Shares av.db curated category or tags: cli, compiler, language-runtime, programming-language.

## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- 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
