Fish

My fish config is actually really short. That’s the nice thing about fish: The defaults are just very nice.

Only thing to note is that I use eza instead of the classic ls command because its colors are nicer. So either install eza or remove this line.

# use pywal colors on new fish terminals
cat ~/.cache/wal/sequences

# quickly remove newline characters at end of file
alias chompeof="perl -pi -e 'chomp if eof'"

# use eza instead of ls for nicer colors
alias ls="eza"

#starship init fish | source

Prompt

I use the tide prompt to make the shell look nicer and display useful infos like some git status information. Follow the instructions on its Github page to install it too (using the fisher plugin manager). It has its own very nice and simple configuration wizard, so you really don’t need to see my config.

Bash scripts break

Only “downside” about fish is that it doesn’t follow the POSIX standard. This essentially means that standard sh scripts might not work with fish since fish uses different syntax. But not to worry! Whenever you need a more standard shell like bash, just use that for a bit. So run bash, execute the stuff you gotta execute, and leave bash again for fish with CTRL+d. If your script has a shebang, there’s nothing to do in the first place.