Changelog
A nice guide on ArchWiki. A configuration for Bash:
# Drop in to fish shell if: # 1. Parent shell is not fish # 2. Not executing a bash command, e.g. 'bash -c' if [[ $(ps --no-header --pid=$PPID --format=comm) != "fish" && -z ${BASH_EXECUTION_STRING} && ${SHLVL} == 1 ]] 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:
fish_config
to configure via a web browser.Also apparently dotfiles are a thing: https://dotfiles.github.io/
Also Bass might be interesting: https://github.com/edc/bass
set -U fish_greeting
.bashrc
checks whether to activate the Fish shell, or on the client side VSCode set remote.SSH.useLocalServer = false
in the workspace configuration. webbrowser.open
line in /usr/share/fish/tools/web_config/webconfig.py.$PWD
for (prompt_pwd)
function fish_prompt --description 'Informative prompt' #Save the return status of the previous command set -l last_pipestatus $pipestatus set -lx __fish_last_status $status # Export for __fish_print_pipestatus. if functions -q fish_is_root_user; and fish_is_root_user printf '%s@%s %s%s%s# ' $USER (prompt_hostname) (set -q fish_color_cwd_root and set_color $fish_color_cwd_root or set_color $fish_color_cwd) \ (prompt_pwd) (set_color normal) else set -l status_color (set_color $fish_color_status) set -l statusb_color (set_color --bold $fish_color_status) #set -l pipestatus_string (__fish_print_pipestatus "[" "]" "|" "$status_color" "$statusb_color" $last_pipestatus) printf '[%s] %s%s@%s %s%s %s \n> ' \ (date "+%H:%M:%S") \ (set_color brred) $USER (prompt_hostname) \ (set_color $fish_color_cwd) (prompt_pwd) \ (set_color normal) end end