Fish

Changelog

  • 2025-01-31: Init

A nice guide on ArchWiki. A configuration for Bash:

.bashrc
# Drop in to fish shell if:
#   1. Parent shell is not fish and shell level == 1
#      OR parent shell is tmux
#   2. Not executing a bash command, e.g. 'bash -c'
parent_name=$(ps --no-header --pid=$PPID --format=comm)
if [[
    (($parent_name != "fish" && $SHLVL == 1)
      || ($parent_name == "tmux: server"))
    && -z ${BASH_EXECUTION_STRING}
]]
then
        shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=''
        exec fish $LOGIN_OPTION
fi

Commentary on the fish shell by Julia initially, more recently, and on modern terminal setups.

A checklist for new users (like me) to configure Fish:

Also apparently dotfiles are a thing: https://dotfiles.github.io/

Also Bass might be interesting: https://github.com/edc/bass

set -U fish_greeting

Others