dotfiles/private_dot_config/private_fish/config.fish
Anton Volnuhin 44ddaefee5 restructure repo, fix fish config, remove vendored repos
Phase 4 (fish config):
- Fix ip function: replace load-time `which` with `command ip` wrapper
- Fix 1Password socket: use -S (socket test) instead of -f, export with -gx
- Remove deprecated fish plugins: github-copilot-cli, pisces

Phase 5 (repo structure):
- Move tpm and kitty-themes to .chezmoiexternal.toml (git-repo externals)
- Delete unused tmux-mighty-scroll (not referenced in tmux.conf)
- Expand .chezmoiignore: karabiner macOS-only, skip auto-backups/__pycache__
- Remove orphans: duplicate xterm-kitty, empty ssh.conf, karabiner backups
- Remove kitty.fish from tracking (auto-generated by kitty)

Phase 6 (terminal config):
- Comment out debug print in kitty tab_bar.py

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:11:10 +03:00

144 lines
3.5 KiB
Fish

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
# Commands to run in interactive sessions can go here
if status is-interactive
if type -q atuin
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"
# 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_PROGRAM" = kitty
kitty +kitten ssh $argv
else
ssh $argv
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
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