# Base Path set PATH "/usr/local/bin" "/usr/bin" "/bin" "/usr/sbin" "/sbin" # Homebrew (generated by `brew shellenv fish`, reformatted) set -gx HOMEBREW_PREFIX "/opt/homebrew"; set -gx HOMEBREW_CELLAR "/opt/homebrew/Cellar"; set -gx HOMEBREW_REPOSITORY "/opt/homebrew"; fish_add_path --global --move --path "/opt/homebrew/bin" "/opt/homebrew/sbin"; if test -n "$MANPATH[1]" set -gx MANPATH '' $MANPATH end if not contains "/opt/homebrew/share/info" $INFOPATH set -gx INFOPATH "/opt/homebrew/share/info" $INFOPATH end # Rust fish_add_path --global --move --path "$HOME/.cargo/bin" # Ruby fish_add_path --global --move --path "$(brew --prefix ruby)/bin" # Go set -gx GOPATH "$HOME/go" set -gx GOBIN "$GOPATH/bin" fish_add_path --global --move --path "$GOBIN" # Python set -gx VIRTUAL_ENV_DISABLE_PROMPT 1 if ! test -f "$HOME/dotfiles/python/venv/bin/activate.fish" python3 -m venv "$HOME/dotfiles/python/venv" end source "$HOME/dotfiles/python/venv/bin/activate.fish" set -gx PYTHONPATH "$PYTHONPATH:$HOME/dotfiles/lib/python" # Node.js set -gx NODEPATH "$(brew --prefix node@$NODE_VERSION)" fish_add_path --global --move --path "$NODEPATH/bin" # pnpm set -gx PNPM_HOME "$HOME/Library/pnpm" fish_add_path --global --move --path "$PNPM_HOME" # Java set -gx JAVAPATH "$(brew --prefix openjdk@21)" fish_add_path --global --move --path "$JAVAPATH/bin" # Android set -gx ANDROID_HOME "$HOME/Library/Android/sdk" fish_add_path --global --move --path "$ANDROID_HOME/emulator" "$ANDROID_HOME/platform-tools" # Python source "$HOME/dotfiles/python/venv/bin/activate.fish" set -gx PYTHONPATH "$PYTHONPATH:$DOTFILES_PATH/lib/python" # Local path fish_add_path --global --move --path "$DOTFILES_PATH/bin" "$DOTFILES_PATH/bin/misc" # FZF set -gx FZF_DEFAULT_COMMAND 'rg --files --hidden --follow --glob "!.git/*"' # Git set -gx GIT_COMMITTER_NAME "$GIT_AUTHOR_NAME" set -gx GIT_COMMITTER_EMAIL "$GIT_AUTHOR_EMAIL" set -g __fish_git_prompt_show_informative_status true set -g __fish_git_prompt_showdirtystate true # Vim aliases set -gx EDITOR "vim" alias vi vim alias v vim # Bazel alias bazel bazelisk # Bat alias cat "bat --paging=never" set -gx MANPAGER "sh -c 'col -bx | bat -l man -p'" # Eza alias ls "eza --git --color=never" # Vi bindings # fish_vi_key_bindings # bind -M insert -m default jk cancel repaint-mode # set -g fish_sequence_key_delay_ms 200 # Syntax highlighting fish_config theme choose none set -g fish_color_user normal set -g fish_color_cwd normal set -g fish_color_mode --bold magenta set -g fish_color_comment green set -g fish_color_error red set -g fish_color_history_current magenta set -g fish_color_quote blue set -g fish_color_valid_path --bold set -g fish_color_command --bold set -g fish_color_time magenta # Greeting. I don't need a repeating message. set -g fish_greeting