114 lines
2.8 KiB
Fish
114 lines
2.8 KiB
Fish
# 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
|