# Install elvish with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, scoop, winget

Friendly and expressive shell. Version 0.21.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:elvish
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install elvish
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install elvish
```

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

### Linux

- apk (92%):

```sh
sudo apk add elvish
```

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

- Debian apt (92%):

```sh
sudo apt install elvish
```

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

- dnf (92%):

```sh
sudo dnf install elvish
```

  Evidence: Fedora Rawhide package metadata: elvish 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#elvish
```

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

- pacman (92%):

```sh
sudo pacman -S elvish
```

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

### Windows

- Scoop (92%):

```sh
scoop install main/elvish
```

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

- winget (92%):

```sh
winget install --id elves.elvish -e
```

  Evidence: Windows Package Manager source index: elves.elvish from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:elvish
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/elvish>
- **Version:** 0.21.0
- **Source summary:** Friendly and expressive shell
- **Homepage:** <https://elv.sh/>
- **Repository:** <https://github.com/elves/elvish>
- **Upstream docs:** <https://elv.sh/learn>
- **License:** BSD-2-Clause
- **Source archive:** <https://github.com/elves/elvish/archive/refs/tags/v0.21.0.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- elvish (cli)
- elvish (alias)

## Build dependencies

- go

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, monterey, sonoma, ventura, x86_64_linux

## Freshness

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

Elvish is a Unix-style interactive shell and scripting language with structured values, lexical scoping, and built-in interactive features. The project describes itself as both a powerful scripting language and a shell, distributed as a statically linked binary for Linux, BSDs, macOS, and Windows.

### Project history

Elvish has developed as a pre-1.0 shell that accepts breaking changes while remaining usable for scripting and interactive work. Its release notes show a long-running sequence from older 0.x releases to 0.21.0 in 2024, with the project explicitly warning users that compatibility can still change before 1.0.

### Adoption history

Adoption has been strongest among shell users interested in a more structured alternative to traditional POSIX-family shells. The official README points to packaging status, package/tool lists, and multiple community chat channels, while the input package facts show it packaged across Homebrew, Debian, Fedora, Arch, Nix, MacPorts, Scoop, winget, and other systems.

### How it is used

Elvish is used either as a login-style interactive shell or as a scripting language. Users customize interactive startup with rc.elv under the XDG config directory, keep libraries under elvish/lib search paths, and write scripts that can use Elvish's value channels, maps, functions, exceptions, and pipelines.

### Why package nerds care

Elvish is interesting in package-manager terms because it is a single shell binary with cross-platform packaging but a non-POSIX language model. Installing it from a package manager is often the first experiment: users can try a modern shell without replacing system sh, then choose whether to adopt its rc.elv and library conventions.

### Timeline

- 2021: Elvish 0.17.0 release notes are published.
- 2022: Elvish 0.18.0 release notes are published.
- 2023: Elvish 0.19.1 release notes are published.
- 2024: Elvish 0.20.x and 0.21.0 release notes are published.

### Related projects

- Elvish belongs to the family of alternative shells such as fish, nushell, and xonsh, but its official documentation emphasizes its own typed value model, lexical scoping, and interactive shell features rather than POSIX compatibility.

### Sources

- <https://github.com/elves/elvish#readme>
- <https://elv.sh/ref/command.html>
- <https://elv.sh/ref/language.html>
- <https://elv.sh/blog/>
- <https://github.com/elves/elvish/releases>


## 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: ~/.config/elvish/rc.elv, ~/.config/elvish/lib/*.elv
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** elvish
- **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 - elvish - 0.21.0-2+b7: normalized package name match | Debian stable package indexes: elvish from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Powerful scripting language & versatile interactive shell | https://elv.sh
- Nix - elvish: normalized package name match | nixpkgs package indexes: pkgs/by-name/el/elvish/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - elvish - 0.20.1-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: elvish from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Expressive programming language and versatile interactive shell | https://elv.sh
- apk - elvish - 0.21.0-r16: normalized package name match | Alpine Linux edge package indexes: elvish from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Friendly and expressive Unix shell | https://elv.sh/
- dnf - elvish - 0.21.0-12.fc44: normalized package name match | Fedora Rawhide package metadata: elvish from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Powerful scripting language & Versatile interactive shell | https://github.com/elves/elvish
- pacman - elvish - 0.21.0-1: normalized package name match | Arch Linux sync databases: elvish from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Versatile interactive shell & powerful scripting language in one | https://elv.sh
- MacPorts - elvish: normalized package name match | MacPorts ports tree: shells/elvish/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/elvish: normalized package name match | Scoop official bucket manifest trees: bucket/elvish.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - elves.elvish: normalized package name match | Windows Package Manager source index: elves.elvish from https://cdn.winget.microsoft.com/cache/source.msix


## 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.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [bash](https://www.automicvault.com/pkg/brew/bash/) - Shares av.db curated category or tags: cli, shell, system.
- [bashish](https://www.automicvault.com/pkg/brew/bashish/) - Shares av.db curated category or tags: cli, shell, system.
- [brush](https://www.automicvault.com/pkg/brew/brush/) - Shares av.db curated category or tags: cli, shell, system.
- [dash-shell](https://www.automicvault.com/pkg/brew/dash-shell/) - Shares av.db curated category or tags: cli, shell, system.
- [hstr](https://www.automicvault.com/pkg/brew/hstr/) - Shares av.db curated category or tags: cli, shell, system.
- [murex](https://www.automicvault.com/pkg/brew/murex/) - Shares av.db curated category or tags: cli, shell, system.
- [nsh](https://www.automicvault.com/pkg/brew/nsh/) - Shares av.db curated category or tags: cli, shell, system.
- [nushell](https://www.automicvault.com/pkg/brew/nushell/) - Shares av.db curated category or tags: cli, shell, system.

## Combined YAML source

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