dotfiles/private_dot_config/private_fish/config.fish
Anton Volnuhin ac46863b48 harden install script and fix fish config portability
Install script:
- fix package availability (skim/fedora, fd-find/debian, direnv+goku/macos)
- add CLI flags for non-interactive mode (--skip-timezone, --skip-neovim-bootstrap, etc.)
- template STEPS count per OS for correct TUI layout
- add brew shellenv for fresh Apple Silicon, timeout portability
- pam_ssh_agent_auth availability check with warning for Fedora 42+
- fix fisher detection, authorized_keys whole-line dedup

Fish config:
- replace set -gx PATH with idempotent fish_add_path
- guard direnv/cargo sourcing for missing tools
- fix hardcoded /home/anton/ and /Users/anton/ paths
- remove unused micromamba/conda setup

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-02 18:35:11 +03:00

111 lines
2.1 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 [ -f ~/.1password/agent.sock ];
set -g 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-3.5-turbo $argv
end
function ss
python3 ~/.config/scripts/ss.py $argv
end
set IPPATH (which ip)
function ip
$IPPATH --color=auto $argv
end
function s
if [ $TERM_PROGRAM ]
ssh $argv
else
kitty +kitten ssh $argv
end
end
function icat
if [ $TERM_PROGRAM ]
wezterm imgcat $argv
else
kitty +kitten icat --align=left $argv
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 || :