# ------------------------------------------------------------ # Core environment # ------------------------------------------------------------ set -x EDITOR nvim set -x PATH "$HOME/.local/bin" $PATH set fish_greeting # ------------------------------------------------------------ # Homebrew / Development paths # ------------------------------------------------------------ set -x PKG_CONFIG_PATH "/opt/homebrew/lib/pkgconfig" $PKG_CONFIG_PATH set -x PKG_CONFIG_PATH "/opt/homebrew/Cellar/raylib/5.5/lib/pkgconfig" $PKG_CONFIG_PATH # ----------------------------- # Homebrew (Apple Silicon) # ----------------------------- if test -d /opt/homebrew/bin set -gx PATH /opt/homebrew/bin /opt/homebrew/sbin $PATH end # ------------------------------------------------------------ # Herd configuration (PHP / NVM) # ------------------------------------------------------------ # set -x HERD_PHP_83_INI_SCAN_DIR "/Users/nasr/Library/Application Support/Herd/config/php/83/" # set -x HERD_PHP_82_INI_SCAN_DIR "/Users/nasr/Library/Application Support/Herd/config/php/82/" # set -x HERD_PHP_85_INI_SCAN_DIR "/Users/nasr/Library/Application Support/Herd/config/php/85/" # set -x HERD_PHP_84_INI_SCAN_DIR "/Users/nasr/Library/Application Support/Herd/config/php/84/" # set -x PATH "/Users/nasr/Library/Application Support/Herd/bin" $PATH # set -x NVM_DIR "/Users/nasr/Library/Application Support/Herd/config/nvm" # test -f "$NVM_DIR/nvm.sh"; and source "$NVM_DIR/nvm.sh" # Load Herd’s shell hooks if they exist # test -f "/Applications/Herd.app/Contents/Resources/config/shell/zshrc.zsh"; and source "/Applications/Herd.app/Contents/Resources/config/shell/zshrc.zsh" # ------------------------------------------------------------ # Zoxide (navigation) # ------------------------------------------------------------ zoxide init fish | source alias cd "z" alias zi "zoxide query -i" alias zq "zoxide query" # ------------------------------------------------------------ # Aliases # ------------------------------------------------------------ alias vim "nvim" alias vi "nvim" alias ls "lsd" alias attach "tmux attach-session -t" alias new "tmux new-session -t" alias list "tmux list-sessions" alias nnd "~/nnd" # ------------------------------------------------------------ # fzf-powered file selectors # ------------------------------------------------------------ function edit set file (find . -type f ! -path '*/.*' | fzf --preview 'bat --style=full --color=always {} 2>/dev/null') test -n "$file"; and nvim "$file" end function cfg set file (find ~/.config -type f | fzf --preview 'bat --style=full --color=always {} 2>/dev/null') test -n "$file"; and nvim "$file" end # Optional: EMSDK support # ------------------------------------------------------------ # source (~/emsdk/emsdk_env.sh | psub) set -g fish_key_bindings fish_vi_key_bindings set -U tide_left_prompt_items (string match -v kubectl $tide_left_prompt_items) set -U tide_right_prompt_items (string match -v kubectl $tide_right_prompt_items)