fish_add_path /opt/homebrew/bin fish_add_path /opt/homebrew/coreutils/libexec/gnubin fish_add_path /usr/local/opt/coreutils/libexec/gnubin fish_add_path /usr/local/bin fish_add_path /snap/bin fish_add_path $HOME/.local/bin fish_add_path $HOME/.cargo/bin fish_add_path $HOME/.go/bin set -gx GOPATH $HOME/.go set -gx EDITOR nvim set fish_color_valid_path set -g fish_greeting if test -S ~/.1password/agent.sock set -gx SSH_AUTH_SOCK ~/.1password/agent.sock end # Make Tide show context for orb/SSH sessions that set SSH_CONNECTION but not SSH_TTY if set -q SSH_CONNECTION; and not set -q SSH_TTY set -gx SSH_TTY (tty) end # Commands to run in interactive sessions can go here if status is-interactive set -l kitty_fish_integration /Applications/kitty.app/Contents/Resources/kitty/shell-integration/fish/vendor_conf.d/kitty-shell-integration.fish set -l kitty_fish_completions /Applications/kitty.app/Contents/Resources/kitty/shell-integration/fish/vendor_completions.d if test -f "$kitty_fish_integration" if test "$TERM" = xterm-kitty; or set -q KITTY_MOSH set -g KITTY_SHELL_INTEGRATION enabled source "$kitty_fish_integration" if test -d "$kitty_fish_completions" set --prepend fish_complete_path "$kitty_fish_completions" end end end if type -q atuin; and test -s ~/.local/share/atuin/key atuin init fish --disable-up-arrow | source end if type -q jump # initialize jump cd jump shell fish --bind=z | source end end # aliases alias b "bat -p" alias l "ls -la" alias lll "ls -latr" alias lg "lazygit" alias claude "env -u TMUX claude" # abbreviations abbr lsn littlesnitch abbr nv nvim abbr vim nvim abbr vi nvim # functions function sss python3 ~/.config/scripts/ss.py --model gpt-5.2 $argv end function ss #python3 ~/.config/scripts/ss.py $argv python3 ~/.config/scripts/llm.py cmd $argv end if type -q ip function ip command ip --color=auto $argv end end function s if test "$TERM" = xterm-kitty kitten ssh $argv else ssh $argv end end function mosh if contains -- -- $argv command mosh $argv else command mosh $argv -- env KITTY_MOSH=1 sh -lc 'exec "${SHELL:?}" -l' end end function icat if test "$TERM_PROGRAM" = "WezTerm" wezterm imgcat $argv else if test "$TERM_PROGRAM" = "ghostty" env TERM=xterm-kitty viu $argv else kitty +kitten icat --align=left $argv end end function ils if test (count $argv) -eq 0 # 1. Find "Fast" images (JPG, PNG, etc.) - Case Insensitive set -l fast_imgs (find . -maxdepth 1 -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" -o -iname "*.gif" -o -iname "*.webp" -o -iname "*.svg" \) | sort) # 2. Find "Slow" RAW images (ARW, DNG, etc.) # We search for these separately so we can append them to the end of the list set -l slow_imgs (find . -maxdepth 1 -type f \( -iname "*.arw" -o -iname "*.raw" -o -iname "*.cr2" -o -iname "*.nef" \) | sort) # Combine them: Fast first, Slow last set argv $fast_imgs $slow_imgs end if test (count $argv) -gt 0 # Move cursor to bottom to prevent scrolling glitches tput cup (tput lines) 0 # -g 5 : 5 images per row (The Grid!) # -p k : Force Kitty protocol (Cleanest for Ghostty) # --title : Show filename headers # --upscale=0 : Don't stretch small icons # --center : Center the whole grid in the terminal timg -p k --grid 5 --frames=1 --title --center $argv 2>/dev/null else echo "No images found." end end function winbox ~/dev/winbox/run.sh& end if test -e $HOME/.nix-profile/etc/profile.d/nix.fish source $HOME/.nix-profile/etc/profile.d/nix.fish end # The next line updates PATH for the Google Cloud SDK. if [ -f ~/dev/google-cloud-sdk/path.fish.inc ] source ~/dev/google-cloud-sdk/path.fish.inc end if type -q direnv direnv hook fish | source end if [ -f ~/.config/op/plugins.sh ] source ~/.config/op/plugins.sh end #fish_vi_key_bindings # bun set -gx BUN_INSTALL "$HOME/.bun" fish_add_path $HOME/.bun/bin if test -f "$HOME/.cargo/env.fish" source "$HOME/.cargo/env.fish" end function _ksi_bar_cursor --on-event fish_prompt printf "\e[5 q" end function _ksi_block_cursor --on-event fish_preexec printf "\e[2 q" end fish_add_path $HOME/dev/screenpipe/target/debug # Added by LM Studio CLI (lms) fish_add_path $HOME/.cache/lm-studio/bin # Added by OrbStack: command-line tools and integration # This won't be added again if you remove it. source ~/.orbstack/shell/init.fish 2>/dev/null || : fish_add_path $HOME/.antigravity/antigravity/bin # Added by OrbStack: command-line tools and integration # This won't be added again if you remove it. source ~/.orbstack/shell/init2.fish 2>/dev/null || :