Skip to content

Instantly share code, notes, and snippets.

@arkady-emelyanov
Last active February 15, 2026 21:09
Show Gist options
  • Select an option

  • Save arkady-emelyanov/0bbf6dcebe2062cc8e32 to your computer and use it in GitHub Desktop.

Select an option

Save arkady-emelyanov/0bbf6dcebe2062cc8e32 to your computer and use it in GitHub Desktop.
fish configuration
set fish_greeting
# psql
set -gx PGHOST localhost
set -gx PGPORT 5432
set -gx PGUSER user
set -gx PGPASSWORD password
set -gx PGDATABASE database
# defaults
set -gx LANGUAGE en_US.UTF-8
set -gx LANG en_US.UTF-8
set -gx LC_MESSAGES en_US.UTF-8
set -gx LC_ALL en_US.UTF-8
set -gx EDITOR nano
set -gx HOMEBREW_NO_ENV_HINTS "1"
set -gx HOMEBREW_NO_ANALYTICS "1"
set -gx DOCKER_BUILDKIT "1"
set -gx BUILDKIT_PROGRESS "plain"
set -gx PYENV_VIRTUALENV_DISABLE_PROMPT 1
set -gx GOPROXY "direct"
set -gx GOSUMDB "off"
# brew
set -gx CUDA "/usr/local/cuda"
set -gx GOROOT $HOME/.go
set -gx PYENV_ROOT $HOME/.pyenv
set -gx LOCAL_ROOT $HOME/.local
set -gx PATH $NODE_ROOT/bin $PATH
set -gx PATH $GOROOT/bin $PATH
set -gx PATH $GOPKGROOT/bin $PATH
set -gx PATH $HOMEBREW_HOME/bin $PATH
set -gx PATH $PYENV_ROOT/bin $PATH
set -gx PATH $CUDA/bin $PATH
set -gx PATH $LOCAL_ROOT/bin $PATH
set -gx PATH $OLLAMA_ROOT/bin $PATH
# tools
status --is-interactive; and pyenv init - | source
status --is-interactive; and pyenv virtualenv-init - | source
## system
set -g fish_user_paths "/usr/local/opt/texinfo/bin" $fish_user_paths
set -g fish_user_paths "/usr/local/sbin" $fish_user_paths
set fish_color_error ff8a00
# c0 to c4 progress from dark to bright
# ce is the error colour
set -g c0 (set_color 005284)
set -g c1 (set_color 0075cd)
set -g c2 (set_color 009eff)
set -g c3 (set_color 6dc7ff)
set -g c4 (set_color ffffff)
set -g ce (set_color $fish_color_error)
set -g fish_color_cwd 006600
set fish_git_dirty_color cc3333 # softer red (lighter, readable on dark backgrounds)
set fish_git_not_dirty_color bbbbbb # gentle light gray instead of pure white
# Pyenv version name
set fish_pyenv_name_color 87c0c0 # lighter, more readable teal-gray accent
# Brackets / delimiters
set fish_bracket_color 888888 # balanced medium gray (visible but subtle)
function render_git
set -l git_dir (git rev-parse --git-dir 2> /dev/null)
if test -n "$git_dir"
set -l branch (git branch 2> /dev/null | grep -e '\* ' | sed 's/^..\(.*\)/\1/')
set -l git_status (git status -s)
if test -n "$git_status"
printf '%s🌿:%s%s%s%s ' \
(set_color $fish_bracket_color) \
(set_color $fish_git_dirty_color) \
$branch \
(set_color $fish_bracket_color) \
(set_color normal)
else
printf '%s🌿:%s%s%s%s ' \
(set_color $fish_bracket_color) \
(set_color $fish_git_not_dirty_color) \
$branch \
(set_color $fish_bracket_color) \
(set_color normal)
end
else
printf ''
end
end
function render_pyenv
if test -n "$PYENV_VERSION"
printf '%s🐍:%s%s%s%s ' \
(set_color $fish_bracket_color) \
(set_color $fish_pyenv_name_color) \
$PYENV_VERSION \
(set_color $fish_bracket_color) \
(set_color normal)
else
printf ''
end
end
function render_pwd
printf '%s%s%s ' (set_color $fish_color_cwd) (prompt_pwd) (set_color normal)
end
function fish_prompt
set -l prompt_symbol ''
printf '%s%s%s%s%s%s ' \
(render_pwd) \
(render_pyenv) \
(render_git) \
(set_color $fish_bracket_color) \
$prompt_symbol \
(set_color normal)
end
function fish_right_prompt
end
#
alias dps="docker ps --format '{{.ID}}({{.State}}): {{.Names}} ({{.Ports}})'"
alias k="/usr/local/bin/kubectl"
alias t="/usr/local/bin/tofu"
alias terraform="/usr/local/bin/tofu"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment