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>
144 lines
3.5 KiB
Fish
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
|