Installing an official binary
The recommended way to install Elvish is by downloading an official binary.
First, choose the version to install. At any given time, two versions of Elvish are supported:
-
The HEAD version tracks the latest development, and is updated shortly after every commit.
Use HEAD if you want to use the latest features, and can live with occasional bugs and breaking changes.
-
The release version is updated with new features every 6 months, and gets occasional patch releases that fix severe issues.
Use the release version if you want a stable foundation. You still need to update when a new release comes out, since only the latest release is supported.
Now find your platform in the table, and download the corresponding binary archive:
Version | amd64 | 386 | arm64 |
---|---|---|---|
HEAD (draft release notes) | Linux macOS FreeBSD NetBSD OpenBSD Windows | Linux Windows | Linux macOS |
0.19.2 (release notes) | Linux macOS FreeBSD NetBSD OpenBSD Windows | Linux Windows | Linux macOS |
(If your platform is not listed, you may still be able to build Elvish from source. For users in China, TUNA’s mirror may be faster.)
After downloading the binary archive, following these steps to install it:
cd ~/Downloads # or wherever the binary archive was downloaded to
tar xvf elvish-HEAD.tar.gz # or elvish-v0.15.0.tar.gz for release version
chmod +x elvish-HEAD # or elvish-v0.15.0 for release version
sudo cp elvish-HEAD /usr/local/bin/elvish # or anywhere else on PATH
On Windows, simply unzip the downloaded archive and move it to the desktop. If
additionally you’d like to invoke elvish
from cmd
, move it to somewhere in
the PATH
instead and create a desktop shortcut.
Using Elvish as your default shell
The best way to use Elvish as your default shell is to configure your terminal to launch Elvish:
Terminal | Instructions |
---|---|
Terminals for macOS | |
Terminal.app | Open Terminal > Preferences. Ensure you are on the Profiles tab, which should be the default tab. In the right-hand panel, select the Shell tab. Tick Run command, put the path to Elvish in the textbox, and untick Run inside shell. |
iTerm2 | Open iTerm > Preferences. Select the Profiles tab. In the right-hand panel under Command, change the dropdown from Login Shell to Custom Shell, and put the path to Elvish in the textbox. |
Terminals for Windows | |
Windows Terminal | Press Ctrl+, to open Settings. Go to Add a new profile > New empty profile. Fill in the 'Name' and enter path to Elvish in the 'Command line' textbox. Go to Startup option and select Elvish as the 'Default profile'. Hit Save. |
ConEmu | Press Win+Alt+ T to open the Startup Tasks dialog. Click on ± button to create a new task, give it Elvish alias, enter the path to Elvish in the 'Commands' textbox and tick the 'Default task for new console' checkbox. Click on Save settings to finish. |
Terminals for Linux and BSDs | |
GNOME Terminal | Open Edit > Preferences. In the right-hand panel, select the Command tab, tick Run a custom command instead of my shell, and set Custom command to the path to Elvish. |
Konsole | Open Settings > Edit Current Profile. Set Command to the path to Elvish. |
XFCE Terminal | Open Edit > Preferences. Check Run a custom command instead of my shell, and set Custom command to the path to Elvish. |
The following terminals only support a command-line flag for changing the shell | |
LXTerminal | Pass --command $path_to_elvish . |
rxvt | Pass -e $path_to_elvish . |
xterm | Pass -e $path_to_elvish . |
Terminal multiplexers | |
tmux |
Add set -g default-command $path_to_elvish to
~/.tmux.conf .
|
It is not recommended to change your login shell to Elvish. Some programs assume that user’s login shell is a traditional POSIX-like shell, and may have issues when you change your login shell to Elvish.
Installing from a package manager
Elvish is available from many package managers. Installing Elvish with the package manager makes it easy to upgrade Elvish alongside the rest of your system.
Beware that these packages are not maintained by Elvish developers and are sometimes out of date. For a comprehensive list of packages and their freshness, see this Repology page.
Arch Linux
Elvish is available in the official repository. This will install the latest packaged release:
pacman -S elvish
To install the HEAD version, install
elvish-git
from AUR with
your favorite AUR helper:
yay -S elvish-git
Debian / Ubuntu
Elvish is packaged by Debian since buster and by Ubuntu since 17.10:
apt install elvish
However, only testing versions of Debian and Ubuntu tend to have the latest Elvish release. If you are running a stable release of Debian or Ubuntu, it is recommended to install an official binaries instead.
macOS
Elvish is packaged by both Homebrew and MacPorts.
To install from Homebrew:
# Install latest packaged release
brew install elvish
# Or install HEAD:
brew install --HEAD elvish
To install from MacPorts:
sudo port selfupdate
sudo port install elvish
Windows
Elvish is available in the Main bucket of Scoop. This will install the latest packaged release:
scoop install elvish
FreeBSD
Elvish is available in the FreeBSD ports tree and as a prebuilt package. Both methods will install the latest packaged release.
To install with pkg
:
pkg install elvish
To build from the ports tree:
cd /usr/ports/shells/elvish
make install
NetBSD / pkgsrc
Elvish is available in pkgsrc. To install from a binary package, run the following command:
pkgin install elvish
To build the elvish package from source instead:
cd /usr/pkgsrc/shells/elvish
make package-install
OpenBSD
Elvish is available in the official OpenBSD package repository. This will install the latest packaged release:
doas pkg_add elvish
NixOS (nix)
Elvish is packaged in nixpkgs:
# Install latest packaged release
nix-env -i elvish
Old versions
The following old versions are no longer supported. They are only listed here for historical interest.