Bash Fish Tide Atuin Oh My Posh
After installing Ubuntu Server, whichever version you chose, the first thing you need to do after logging in via SSH is run the update commands.
and then you reboot when done.BASH¶
Step 2: Verify Bash is installed or install if needed
This command will indicate whether bash is installed on your server. In my case, it was, which is normal for a regular Ubuntu install.If you need to install it, you can do so with the following command. Once installed, verify it using the next command:
NOTE: At this point, bash and bash-completion, which is where you type a bash command like ‘sudo apt [space]’ and then ‘[tab] [tab]’ and you will see options for the next word or words you can add to sudo apt such as update or upgrade, etc.Step 3: Add Bash Auto-Suggestions
NOTE: This has been more helpful to me than the basic bash [tab][tab] completion because it automatically displays old commands you previously entered as you start typing a new command. Then, you can hit the right arrow on your keyboard, completing the rest of the command. This process quickly and accurately finishes longer or repetitive commands.
UPDATE & CORRECTION:
Bash does not have an add-on for adding auto-suggestion to the prompt like Fish does.
FISH¶
Step 1: Update server
Step 2: Install Fish Step 3: Verify installation should return fish, version 3.x.xStep 4: Start Fish terminal session
will see a new prompt, slightly different. Colors different mark@test-vm ~>NOTE: The next command is not required, but you can run it to see which shells exist on the system that you can change without adding them. These are the shells installed by default in Ubuntu server 24.04 that you can switch to.
Will list Bash, Fish, Tmux, etc. All we care about is that Fish is there.Step 5: Make Fish default shell
It will prompt for your password because you are making changes to the user settings.NOTE: This only changes the shell for you, not system-wide.
Step 6: Begin a new session to start up the Fish shell
OH MY POSH¶
Step 1: Update curl and client certificates
Step 2: Install Unzip - needed for installationStep 3: Install Oh My Posh for Linux
Step 4: Add Oh My Posh to $PATH Step 5: Add Oh My Posh to Your Fish Configuration Step 6: Verify installation Returns something like 25.x.x if successfulPROMPT MODIFICATION¶
Step 1: Download Nerd Fonts
mkdir -p ~/.local/share/fonts && cd ~/.local/share/fonts
wget https://github.com/ryanoasis/nerd-fonts/releases/latest/download/FiraCode.zip
Step 2. Extract the font files
Step 3. Install fontconfig Step 4. Refresh the fonts cache Step 5. Set the Nerd Font in GNOME TerminalOpen GNOME Terminal settings:
-Click on Edit → Preferences
-Select your active profile - mine was Everforest Dark Hard
Change the font:
-Find the "Text Appearance" section.
-Click on the "Custom Font" checkbox.
-Select FiraCode Nerd Font (I did not select the mono one)
Save and restart GNOME Terminal.
Reconnect to your Ubuntu Server via SSH.
Step 6. Test if Nerd Fonts are working
You should see something like this:[insert prompt image here]
Step 7: Choose a Theme from those downloaded with Oh My Posh
Preview Themes at: https://ohmyposh.dev/docs/themes - or - https://github.com/JanDeDobbeleer/oh-my-posh/tree/main/themes (up to date)Step 8: Test theme temporarily
Replace theme-name with one you choseStep 9: Make Permanent
echo 'oh-my-posh init fish --config ~/.cache/oh-my-posh/themes/theme-name.omp.json | source' >> ~/.config/fish/config.fish
PROMPT MODIFICATION with Tide using the Fisher plugin for Fish
Step 1: Install Fisher (the Fish Plugin Manager)
Step 2: Install Tide Prompt for Fish
Step 3: Configure Tide This runs the Q&A wizard to set the prompt based on the answers you give to the questionsInstall Atuin for added history search functionality¶
Step 1: Install Required Dependencies
Step 2: Run Atuin installation script
Step 3: Add Atuin to your PATH. This is a Fish-specific command, different from Bash or Zsh.
Step 4: Test installation
Step 5: Make PATH change permanent HERE is the correct CONFIG.FISH & PATH for this setup.'if status is-interactive"
atuin init fish | source
end
set -Ux PATH /usr/local/bin /usr/bin /bin $HOME/.local/bin
source $HOME/.atuin/bin/env.fish
Run:
And make sure config.fish is the same as the aboveNOTE: For Bash - add the following to make Atuin persistent
Summary: After working with Bash, changing to Fish, adding Oh My Posh and Tide to make custom prompts, and finally adding Atuin for Auto Suggestion—which is the key for an easy terminal experience — here are my preferences.
FISH + TIDE + ATUIN AND drop Oh My Posh. Nice but not a must-have
UPDATE: In a hurry? Just install Atuin in the normally default Bash shell