Skip to content

Installation

To install lash, you will need to open your terminal. On macOS, search for “Terminal” in Spotlight (press Cmd + Space and type “Terminal”). On Linux, look for “Terminal” in your application menu.

Once you have the terminal open, follow the instructions for your system below.

If you have a Mac with an Apple chip (M1, M2, M3, or newer), you can use Homebrew, a popular tool for installing software on macOS. If you already have Homebrew installed, run these two commands:

Terminal window
brew tap szabobogdan3/lash https://gitlab.com/szabobogdan3/homebrew-lash
brew install lash-shell

The first line tells Homebrew where to find lash. The second line installs it.

If you do not use Homebrew, or you have an Intel Mac, you need to build lash from source. Pre-built macOS binaries are not provided.

You will need a D language compiler — either LDC2 or DMD — plus the dub package manager (which comes bundled with both compilers). You can install LDC2 via Homebrew:

Terminal window
brew install ldc

Then clone the repository and build:

Terminal window
git clone https://gitlab.com/szabobogdan3/lash.git
cd lash
dub build --compiler=ldc2 --build=release --config=application
sudo mv lash /usr/local/bin/

The recommended way is to add the openSUSE Build Service (OBS) repo so apt upgrade keeps lash up to date automatically. Pick the line matching your distro for DISTRO:

Terminal window
DISTRO=xUbuntu_24.04 # or xUbuntu_22.04, xUbuntu_24.10, Debian_12, Debian_13
echo "deb [signed-by=/etc/apt/keyrings/lash.gpg] http://download.opensuse.org/repositories/home:/gedaiu/${DISTRO}/ /" | sudo tee /etc/apt/sources.list.d/lash.list
curl -fsSL https://download.opensuse.org/repositories/home:gedaiu/${DISTRO}/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/lash.gpg
sudo apt update && sudo apt install lash-shell

If you’d rather just download a single .deb file from the releases page:

Terminal window
sudo dpkg -i lash-shell_*.deb

Requirement: Your system needs glibc version 2.34 or newer. Ubuntu 22.04 and Debian 12 (Bookworm) or later will work.

Add the OBS repo for auto-updates with dnf upgrade:

Terminal window
sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:gedaiu/Fedora_43/home:gedaiu.repo
sudo dnf install lash-shell

Replace Fedora_43 with Fedora_42, Fedora_41, or Fedora_Rawhide to match your distro.

Download from the releases page:

Terminal window
sudo rpm -i lash-shell-*.rpm

Requirement: Your system needs glibc version 2.34 or newer.

Terminal window
sudo zypper addrepo https://download.opensuse.org/repositories/home:gedaiu/openSUSE_Tumbleweed/home:gedaiu.repo
sudo zypper refresh
sudo zypper install lash-shell

Replace openSUSE_Tumbleweed with openSUSE_Leap_15.6 or openSUSE_Leap_16.0 for Leap.

The easiest way is via the AUR with any helper (yay, paru, pikaur, …):

Terminal window
yay -S lash-shell-bin

The AUR package wraps the upstream .pkg.tar.zst, so updates flow automatically when you run your AUR helper.

Terminal window
sudo pacman -U lash-shell-*.pkg.tar.zst

(Download the .pkg.tar.zst from the releases page first.)

If you want to build lash yourself, you will need a D language compiler — either LDC2 or DMD — plus the dub package manager (which comes bundled with both compilers).

Clone the repository and build:

Terminal window
git clone https://gitlab.com/szabobogdan3/lash.git
cd lash
dub build --compiler=ldc2 --build=release --config=application

The compiled binary will appear in the project directory.

lash uses a background process called a daemon to manage sessions and keep things fast. You can start it manually:

Terminal window
lash -d

Or, if your system uses systemd (most Linux distributions), you can set it up as a service so it starts automatically when you log in. On macOS, you can use launchd for the same purpose.

Once lash is installed, just type:

Terminal window
lash

You should see the colorful powerline prompt, which means everything is working. If this is your very first time, run the interactive welcome tutorial:

Terminal window
lash --welcome

This will walk you through the basics right inside the shell.

If you want lash to start every time you open a terminal, you can set it as your default login shell using chsh.

First, find out where lash is installed:

Terminal window
which lash

This will print something like /usr/local/bin/lash or /usr/bin/lash.

Before chsh will accept a shell, it must be listed in /etc/shells. Check whether lash is already there:

Terminal window
grep lash /etc/shells

If there is no output, add it:

Terminal window
echo "$(which lash)" | sudo tee -a /etc/shells

Now set lash as your default shell:

Terminal window
chsh -s $(which lash)

You will be asked for your password. After that, log out and log back in (or open a new terminal) and lash will be your shell.

To switch back to your previous shell later, run the same command with the old shell path, for example:

Terminal window
chsh -s /bin/bash
  • “command not found” — Make sure the lash binary is in a directory that your system searches for programs (like /usr/local/bin/).
  • Daemon not running — If lash seems slow or certain features do not work, make sure you started the daemon with lash -d.
  • Old glibc — If the package refuses to install, your system’s C library may be too old. Check with ldd --version.

You are all set. Time to type your first commands.