Skip to content

Fish Shell

Fish (Friendly Interactive SHell) is a smart, user-friendly shell with autosuggestions, syntax highlighting, and tab completions out of the box, no plugins or configuration required to get a great experience.

Install

Install on Arch Linux
pacman -S fish
Install on Debian/Ubuntu
apt install fish

Set fish as your default shell:

Set fish as default shell
chsh -s /usr/bin/fish

Config

Fish config lives in ~/.config/fish/config.fish. Unlike bash/zsh, fish uses its own syntax, no need to source files or export variables the traditional way.

~/.config/fish/config.fish
if status is-interactive
    # Commands to run in interactive sessions can go here
end

set PATH $PATH ~/.local/bin

Fisher

Fisher is the go-to plugin manager for fish. Lightweight and fast, plugins are installed directly from GitHub.

Install Fisher on Arch Linux
pacman -S fisher
Install Fisher on other systems
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher

Installed plugins are tracked in ~/.config/fish/fish_plugins and can be restored with fisher update.

jorgebucaran/fisher

Tide

Tide is a fast, feature-rich prompt for fish, the fish-native alternative to Starship. It configures itself interactively and shows git status, language versions, command duration, and more.

Install Tide via Fisher
fisher install ilancosman/tide@v6

Run the interactive setup wizard:

Configure Tide
tide configure

The wizard walks through style, prompt items, and colors, no manual config editing needed.

ilancosman/tide