Installation
Before You Start
Section titled “Before You Start”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.
macOS (Apple Silicon)
Section titled “macOS (Apple Silicon)”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:
brew tap szabobogdan3/lash https://gitlab.com/szabobogdan3/homebrew-lashbrew install lash-shellThe first line tells Homebrew where to find lash. The second line installs it.
macOS (Manual Install)
Section titled “macOS (Manual Install)”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:
brew install ldcThen clone the repository and build:
git clone https://gitlab.com/szabobogdan3/lash.gitcd lashdub build --compiler=ldc2 --build=release --config=applicationsudo mv lash /usr/local/bin/Debian / Ubuntu / Linux Mint
Section titled “Debian / Ubuntu / Linux Mint”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:
DISTRO=xUbuntu_24.04 # or xUbuntu_22.04, xUbuntu_24.10, Debian_12, Debian_13echo "deb [signed-by=/etc/apt/keyrings/lash.gpg] http://download.opensuse.org/repositories/home:/gedaiu/${DISTRO}/ /" | sudo tee /etc/apt/sources.list.d/lash.listcurl -fsSL https://download.opensuse.org/repositories/home:gedaiu/${DISTRO}/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/lash.gpgsudo apt update && sudo apt install lash-shellOne-shot .deb (no auto-updates)
Section titled “One-shot .deb (no auto-updates)”If you’d rather just download a single .deb file from the
releases page:
sudo dpkg -i lash-shell_*.debRequirement: Your system needs glibc version 2.34 or newer. Ubuntu 22.04 and Debian 12 (Bookworm) or later will work.
Fedora
Section titled “Fedora”Add the OBS repo for auto-updates with dnf upgrade:
sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:gedaiu/Fedora_43/home:gedaiu.reposudo dnf install lash-shellReplace Fedora_43 with Fedora_42, Fedora_41, or Fedora_Rawhide to
match your distro.
One-shot .rpm (no auto-updates)
Section titled “One-shot .rpm (no auto-updates)”Download from the releases page:
sudo rpm -i lash-shell-*.rpmRequirement: Your system needs glibc version 2.34 or newer.
openSUSE
Section titled “openSUSE”sudo zypper addrepo https://download.opensuse.org/repositories/home:gedaiu/openSUSE_Tumbleweed/home:gedaiu.reposudo zypper refreshsudo zypper install lash-shellReplace openSUSE_Tumbleweed with openSUSE_Leap_15.6 or openSUSE_Leap_16.0
for Leap.
Arch Linux / Manjaro
Section titled “Arch Linux / Manjaro”The easiest way is via the AUR with any helper (yay, paru, pikaur, …):
yay -S lash-shell-binThe AUR package wraps the upstream .pkg.tar.zst, so updates flow
automatically when you run your AUR helper.
Manual pacman install
Section titled “Manual pacman install”sudo pacman -U lash-shell-*.pkg.tar.zst(Download the .pkg.tar.zst from the
releases page first.)
Building from Source
Section titled “Building from Source”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:
git clone https://gitlab.com/szabobogdan3/lash.gitcd lashdub build --compiler=ldc2 --build=release --config=applicationThe compiled binary will appear in the project directory.
Starting the Daemon
Section titled “Starting the Daemon”lash uses a background process called a daemon to manage sessions and keep things fast. You can start it manually:
lash -dOr, 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.
Your First Run
Section titled “Your First Run”Once lash is installed, just type:
lashYou should see the colorful powerline prompt, which means everything is working. If this is your very first time, run the interactive welcome tutorial:
lash --welcomeThis will walk you through the basics right inside the shell.
Making lash Your Default Shell
Section titled “Making lash Your Default 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:
which lashThis 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:
grep lash /etc/shellsIf there is no output, add it:
echo "$(which lash)" | sudo tee -a /etc/shellsNow set lash as your default shell:
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:
chsh -s /bin/bashTroubleshooting
Section titled “Troubleshooting”- “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.