A curated list of awesome Elvish packages, modules, and tools that support Elvish.
| Icon | Description |
|---|---|
| 📦 | An Elvish package (a collection of related modules) - install directly with epm |
| 🧩 | An Elvish module - install the package that contains it (usually just the Git repo) with epm |
| 🛠 | An external tool that supports Elvish |
| Item | Description |
|---|---|
| 🧩 github.com/muesli/elvish-libs/powerline | Powerline style prompt theme |
| 🧩 github.com/zzamboni/elvish-themes/chain | Super configurable prompt theme with Git support |
| 🧩 github.com/champii/elvish-base/prompt | Very basic prompt over two lines with simple git support |
| 🧩 github.com/tylerreckart/gondolin/gondolin | A simple two-line prompt with extensive Git support |
| 🧩 gitlab.com/SneakyThunder/silver-prompt-elv/silver | Elvish integration for silver, a cross-shell customizable powerline-like prompt written in Rust |
| 🛠 Starship | A cross-shell, minimal, blazingly-fast prompt written in Rust |
| Item | Description |
|---|---|
| 📦 github.com/xiaq/edit.elv | Includes completion scripts for go and git |
| 📦 zzamboni/elvish-completions | Includes completion scripts for cd, git, vcsh |
| 📦 aca/elvish-bash-completion | Converts any bash completion to elvish |
| 🛠 rsteube/carapace-bin | Built-in completions for over 400 commands, and support for custom completions |
| Editor | Plugin |
|---|---|
| Emacs | elvish-mode |
| Vim | elvish.vim |
| Atom | language-elvish |
| Kakoune | Builtin support; kak-lsp also has builtin LSP configuration for Elvish |
| VSCode | official extension |
| Sublime Text 3 | elvish_syntax_for_sublime |
| PyCharm | elvish-lang-plugin |
| Micro | elvish-micro-syntax |
| Helix | Builtin support, including integration with elvish -lsp |
| Terminal | Item | Description |
|---|---|---|
| iTerm2 | 🧩 github.com/zzamboni/elvish-modules/iterm2 | Support for iTerm2 Shell Integration features. |
| Item | Description |
|---|---|
| 📦 github.com/muesli/elvish-libs | |
| 🧩 git | Git utility functions (mainly for prompts) |
| 📦 github.com/zzamboni/elvish-modules | |
| 🧩 alias | Support for persistent aliases and for parsing bash-style alias commands. |
| 🧩 bang-bang | Support for the traditional !! and !$ keybindings |
| 🧩 dir | Directory stack and support for cd - to mean "previous directory" |
| 🧩 long-running-notifications | Notifications for long-running commands |
| 🧩 nix | Environment setting and some wrapper utilities for the Nix package manager. |
| 🧩 prompt-hooks | Utilities for manipulating prompt hooks. |
| 🧩 proxy | A module for manipulating and auto-setting proxy variables |
| 🧩 spinners | A module to generate different styles of progress spinners for use in Elvish scripts. |
| 🧩 terminal-title | A module for automatically setting the terminal title. |
| 📦 github.com/iwoloschin/elvish-packages | |
| 🧩 python | Support for Python virtual environments |
| 🧩 update | A tool to check if a newer version of Elvish is available. |
| 📦 github.com/jkbr-19/sindarin-term | |
| 🧩 date-elv | A module for printing the date in elvish (Sindarin) written in Elvish |
| 📦 github.com/champii/elvish-base | |
| 🧩 git | Git helpers |
| 🧩 utils | Helpers for usual shell manipulation |
| 🧩 fs | FS helpers and object oriented files |
| 🧩 github.com/href/elvish-gitstatus/gitstatus | Gitstatus integration for Elvish. |
| 📦 github.com/doubleagent/rivendell | |
| 🧩 fun | Helps your elvish code to be more functional |
| 🧩 lazy | Gives you access to lazy iterators, infinite sequences, and multiple higher-level iterators |
| 🧩 github.com/kolbycrouch/elvish-libs/pure | Pure elvish utility libraries |
| 🧩 github.com/gergelyk/elvish-libs/python | Evaluate Python inplace. Switch venv automatically. |
| 📦 github.com/krader1961/elvish-lib | |
| 🧩 cmd-duration | Provides function human-readable to make it easy to include a human friendly representation, in your prompt, of the duration of the most recent command. |
| 🧩 util-unix | Provides command ulimit for displaying and modifying the unix:rlimits variable in a manner more like traditional POSIX shells. |
| 📦 github.com/iandol/elvish-modules | |
| 🧩 mamba | support for conda / mamba / micromamba package manager. For more complex conda recipes that run POSIX scripts, it captures the environment and imports it for elvish. |
| 🧩 cmds | utility functions to perform helpful shell actions: add/remove (append-to-path, prepend-to-path, remove-from-path) or filter (filter, filter-out, filter-re, filter-re-out) lists like the path list; if-external - check a executable then run tasks if it is, or is not present; list utils list-unique, list-diff, list-append, list-intersect, list-find and several others. |
| 📦 github.com/tesujimath/bash-env-elvish | |
| 🧩 bash-env | Import Bash environment into Elvish. |
| 🧩 virtualenv | Activate/deactivate Python virtualenv. |
| 🧩 nvm | Support for NVM (node version manager). |
| 📦 github.com/tesujimath/elvish-tap | |
| 🧩 tap | Test Anything Protocol (TAP) for Elvish. |
| Item | Description |
|---|---|
| 🛠 ajeetdsouza/zoxide | A fast alternative to cd that learns your habits. |
| 📄 zzamboni/dot_elvish | Documented rc.elv file, using many of the modules above. |
| 📄 darcy-shen/oh-my-elvish | User-friendly, productive and cross-platform elvish configuration. |
| 🛠 x-cmd | x-cmd is a vast and interesting collection of tools guided by the Unix philosophy, with support for Elvish. |
| 🛠 dorothy | Bring your dotfile commands to any shell. Sensible defaults and hundreds of commands preloaded. Supports Elvish on macOS, Linux, Windows. |