https://wiki.archlinux.org/title/Fish

My favorite. Simple, has a lot of great features from the get-go

not too great on the eyes, but lets give it a try anyways. If I don’t like it, we go to zsh.

then just type fish

and look, it has autocomplete showed

to set fish as the default shell, first find the fish directory.

for me it is /usr/bin/fish

then I type chsh -s /usr/bin/fish

reboot and then you will see the new shell

pretty nice.

You can also use tab to autocomplete/search for autocomplete. Great features

but.. fish is not POSIX compliant

Fish plugins

Download fisher which is just for quality of life, it is the main repository for fish plugins.

https://github.com/jorgebucaran/fisher

use fisher list to list all currently installed plugins.

at the moment I have none.

Lets learn to zest up fish.

This: https://github.com/jorgebucaran/awsm.fish#readme

is a fuckin goldmine.

It has plugins, prompts, and community links all inside of it.

Themes

Tide is how we get fish themes. It is a plugin for fish that we can get with fisher

https://github.com/IlanCosman/tide

then we configure our prompt.

I don’t like zsh styles. I will go with lean. I LOVE LEAN

then prompt colors

il try 2 for now, if I don’t like it il idk remove the tide and reinstall.

no current time.

one line please

lets do sparse actually, give it new flavour

many Icons. We will get icons later.

Then I press Y and we have our new tide

this is beautiful.

Font Awesome will allow you to get the icons

FZF

https://github.com/patrickf1/fzf.fish

makes finding things in fish easier. Has a little display for things too.

firstly, install these with pacman

CTRL+ALT+F – Find a file

CTRL+ALT+P – search for a process

CTRL+V – search for a variable. Doesn’t include all of them

Fish configuration

I, ok, I wanted to add something cool but I failed so but I still added something cool that I didn’t want to add in the first place but I might need so it is this:

CTRL+BCKSPACE delete the entire line in terminal. I wanted it to delete a single string seperated by whitespace, but it deletes the whole line. Still handy to have.

Put this line in your ~/.config/fish/config.fish