Home

Awesome

awesome-elvish

A curated list of awesome Elvish packages, modules, and tools that support Elvish.

IconDescription
📦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

Prompt Themes

ItemDescription
🧩 github.com/muesli/elvish-libs/powerlinePowerline style prompt theme
🧩 github.com/zzamboni/elvish-themes/chainSuper configurable prompt theme with Git support
🧩 github.com/champii/elvish-base/promptVery basic prompt over two lines with simple git support
🧩 github.com/tylerreckart/gondolin/gondolinA simple two-line prompt with extensive Git support
🧩 gitlab.com/SneakyThunder/silver-prompt-elv/silverElvish integration for silver, a cross-shell customizable powerline-like prompt written in Rust
🛠 StarshipA cross-shell, minimal, blazingly-fast prompt written in Rust

Completion Scripts

ItemDescription
📦 github.com/xiaq/edit.elvIncludes completion scripts for go and git
📦 zzamboni/elvish-completionsIncludes completion scripts for cd, git, vcsh
📦 aca/elvish-bash-completionConverts any bash completion to elvish
🛠 rsteube/carapace-binBuilt-in completions for over 400 commands, and support for custom completions

Editor Support

EditorPlugin
Emacselvish-mode
Vimelvish.vim
Atomlanguage-elvish
KakouneBuiltin support; kak-lsp also has builtin LSP configuration for Elvish
VSCodeofficial extension
Sublime Text 3elvish_syntax_for_sublime
PyCharmelvish-lang-plugin
Microelvish-micro-syntax
HelixBuiltin support, including integration with elvish -lsp

Terminal Integration

TerminalItemDescription
iTerm2🧩 github.com/zzamboni/elvish-modules/iterm2Support for iTerm2 Shell Integration features.

General Libraries

ItemDescription
📦 github.com/muesli/elvish-libs
 🧩 gitGit utility functions (mainly for prompts)
📦 github.com/zzamboni/elvish-modules
 🧩 aliasSupport for persistent aliases and for parsing bash-style alias commands.
 🧩 bang-bangSupport for the traditional !! and !$ keybindings
 🧩 dirDirectory stack and support for cd - to mean "previous directory"
 🧩 long-running-notificationsNotifications for long-running commands
 🧩 nixEnvironment setting and some wrapper utilities for the Nix package manager.
 🧩 prompt-hooksUtilities for manipulating prompt hooks.
 🧩 proxyA module for manipulating and auto-setting proxy variables
 🧩 spinnersA module to generate different styles of progress spinners for use in Elvish scripts.
 🧩 terminal-titleA module for automatically setting the terminal title.
📦 github.com/iwoloschin/elvish-packages
 🧩 pythonSupport for Python virtual environments
 🧩 updateA tool to check if a newer version of Elvish is available.
📦 github.com/jkbr-19/sindarin-term
 🧩 date-elvA module for printing the date in elvish (Sindarin) written in Elvish
📦 github.com/champii/elvish-base
 🧩 gitGit helpers
 🧩 utilsHelpers for usual shell manipulation
 🧩 fsFS helpers and object oriented files
🧩 github.com/href/elvish-gitstatus/gitstatusGitstatus integration for Elvish.
📦 github.com/doubleagent/rivendell
 🧩 funHelps your elvish code to be more functional
 🧩 lazyGives you access to lazy iterators, infinite sequences, and multiple higher-level iterators
🧩 github.com/kolbycrouch/elvish-libs/purePure elvish utility libraries
🧩 github.com/gergelyk/elvish-libs/pythonEvaluate Python inplace. Switch venv automatically.
📦 github.com/krader1961/elvish-lib
 🧩 cmd-durationProvides 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-unixProvides command ulimit for displaying and modifying the unix:rlimits variable in a manner more like traditional POSIX shells.
📦 github.com/iandol/elvish-modules
 🧩 mambasupport for conda / mamba / micromamba package manager. For more complex conda recipes that run POSIX scripts, it captures the environment and imports it for elvish.
 🧩 cmdsutility 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-envImport Bash environment into Elvish.
 🧩 virtualenvActivate/deactivate Python virtualenv.
 🧩 nvmSupport for NVM (node version manager).
📦 github.com/tesujimath/elvish-tap
 🧩 tapTest Anything Protocol (TAP) for Elvish.

More Awesome Elvish Stuff

ItemDescription
🛠 ajeetdsouza/zoxideA fast alternative to cd that learns your habits.
📄 zzamboni/dot_elvishDocumented rc.elv file, using many of the modules above.
📄 darcy-shen/oh-my-elvishUser-friendly, productive and cross-platform elvish configuration.
🛠 x-cmdx-cmd is a vast and interesting collection of tools guided by the Unix philosophy, with support for Elvish.
🛠 dorothyBring your dotfile commands to any shell. Sensible defaults and hundreds of commands preloaded. Supports Elvish on macOS, Linux, Windows.