While the default Linux terminal prompt can be a bit plain, you can easily transform it into something beautiful and informative.
This documentation will guide you through setting up the Fish shell with Oh My Posh to create a powerful, visually appealing, and highly personalized terminal experience.
Fish shell (Friendly Interactive Shell) is a user-friendly shell with:
- 🧠 Autosuggestions
- 🎨 Syntax highlighting
- ⚙️ Easy scripting
It’s powerful, intuitive, and perfect for both beginners and advanced users.
Oh My Posh is a universal prompt theme engine that works with any shell.
It provides stunning, customizable prompts showing details like Git status, system info, battery, and more.
After following this guide, you’ll have a fully functional, beautiful Linux terminal that reflects your style and improves productivity.
Get ready to rock your shell—with some handy aliases too!
sudo apt install fish -ysudo dnf install fish -ysudo pamac -S fish --noconfirmTo make Fish your default shell:
chsh -s /usr/bin/fishThen start Fish manually:
fishDownload and install the latest Linux binary:
sudo wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-linux-amd64 -O /usr/local/bin/oh-my-posh
sudo chmod +x /usr/local/bin/oh-my-poshThis installs Oh My Posh globally so it can be used from any shell.
Oh My Posh themes require Nerd Fonts to display icons properly.
mkdir -p $HOME/.local/share/fontswget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/FiraCode.zip -O $HOME/Downloads/firacode.zip
unzip $HOME/Downloads/firacode.zip -d $HOME/.local/share/fontsfc-cache -f -vChange your system Monospace Text Font to FiraCode Nerd Font Mono.
If you’re using GNOME, install GNOME Tweaks:
sudo apt install gnome-tweaks -ysudo dnf install gnome-tweaks -ysudo pamac -S gnome-tweaks --noconfirmThen open GNOME Tweaks → Fonts → Monospace Text and select FiraCode Nerd Font Mono.
mkdir ~/.poshthemes
wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/themes.zip -O ~/.poshthemes/themes.zip
unzip ~/.poshthemes/themes.zip -d ~/.poshthemes
chmod u+rw ~/.poshthemes/*.json
rm ~/.poshthemes/themes.zipEach .omp.json file inside this directory is a theme configuration.
Edit your Fish configuration file:
gedit $HOME/.config/fish/config.fishnano $HOME/.config/fish/config.fishAdd the following line at the bottom:
oh-my-posh init fish --config $HOME/.poshthemes/montys.omp.json | source💡 Replace montys.omp.json with your desired theme.
To enhance visuals, change your terminal color scheme.
Example:
Choose Everforest Dark Hard.
Reload your Fish configuration:
. ~/.config/fish/config.fishIf your GNOME Terminal doesn’t load Fish as the default shell, log out and back in again.
After that, your terminal will start with Fish automatically.
List all installed themes:
ls ~/.poshthemesPreview all official Oh My Posh themes at:
👉 https://ohmyposh.dev/docs/themes
You now have Fish shell and Oh My Posh fully configured on Linux 🎉
Enjoy your beautiful, efficient, and informative terminal.