diff --git a/private_dot_config/private_fish/config.fish b/private_dot_config/private_fish/config.fish index d59c78b..61c4e78 100644 --- a/private_dot_config/private_fish/config.fish +++ b/private_dot_config/private_fish/config.fish @@ -12,8 +12,94 @@ set fish_color_valid_path set -g fish_greeting -if test -S ~/.1password/agent.sock - set -gx SSH_AUTH_SOCK ~/.1password/agent.sock +function __tmux_environment_value --argument-names name + # The session environment is refreshed on every attach (update-environment), + # while the global one is frozen at server start. Prefer the session value, + # treat its "-NAME" removal marker as unset, and only fall back to the + # global environment when the session has no entry at all. + set -l value (tmux show-environment "$name" 2>/dev/null) + if test -z "$value" + set value (tmux show-environment -g "$name" 2>/dev/null) + end + if string match -q -- "$name=*" "$value" + string replace -r "^$name=" "" -- "$value" + end +end + +function __is_1password_ssh_auth_sock --argument-names sock + test -n "$sock"; or return 1 + + string match -q -- "$HOME/.1password/agent.sock" "$sock" + or string match -q -- "$HOME/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock" "$sock" +end + +function __is_local_macos_ssh_auth_sock --argument-names sock + test -n "$sock"; or return 1 + + string match -q -- "/var/run/com.apple.launchd.*" "$sock" + or string match -q -- "/private/tmp/com.apple.launchd.*" "$sock" +end + +function __find_forwarded_ssh_auth_sock + for sock in /tmp/ma-*/* /tmp/ssh-*/* /private/tmp/ssh-*/* + if test -S "$sock" + echo "$sock" + return + end + end +end + +function __refresh_ssh_auth_sock + set -l tmux_sock + set -l in_ssh_session 0 + + if set -q TMUX + set tmux_sock (__tmux_environment_value SSH_AUTH_SOCK) + set -l tmux_ssh_connection (__tmux_environment_value SSH_CONNECTION) + if test -n "$tmux_ssh_connection" + set -gx SSH_CONNECTION "$tmux_ssh_connection" + set in_ssh_session 1 + else + set -e SSH_CONNECTION SSH_CLIENT SSH_TTY + end + else if set -q SSH_CONNECTION + set in_ssh_session 1 + end + + if test "$in_ssh_session" = 1 + if test -n "$tmux_sock"; and test -S "$tmux_sock"; and not __is_1password_ssh_auth_sock "$tmux_sock"; and not __is_local_macos_ssh_auth_sock "$tmux_sock" + set -gx SSH_AUTH_SOCK "$tmux_sock" + return + end + + if set -q SSH_AUTH_SOCK; and test -S "$SSH_AUTH_SOCK"; and not __is_1password_ssh_auth_sock "$SSH_AUTH_SOCK"; and not __is_local_macos_ssh_auth_sock "$SSH_AUTH_SOCK" + return + end + + set -l forwarded_sock (__find_forwarded_ssh_auth_sock) + if test -n "$forwarded_sock" + set -gx SSH_AUTH_SOCK "$forwarded_sock" + return + end + + set -e SSH_AUTH_SOCK + return + end + + if test -S "$HOME/.1password/agent.sock" + set -gx SSH_AUTH_SOCK "$HOME/.1password/agent.sock" + return + end + + if test -n "$tmux_sock"; and test -S "$tmux_sock" + set -gx SSH_AUTH_SOCK "$tmux_sock" + end +end + +__refresh_ssh_auth_sock + +function __refresh_ssh_auth_sock_before_command --on-event fish_preexec + __refresh_ssh_auth_sock end # Make Tide show context for orb/SSH sessions that set SSH_CONNECTION but not SSH_TTY @@ -192,5 +278,9 @@ source ~/.orbstack/shell/init2.fish 2>/dev/null || : set -gx GITHUB_PERSONAL_ACCESS_TOKEN (security find-generic-password -s codex-github-mcp-pat -w 2>/dev/null) -# Added by Antigravity CLI installer -set -gx PATH "/Users/anton/.local/bin" $PATH +# >>> grok installer >>> +fish_add_path $HOME/.grok/bin +# <<< grok installer <<< + +# mimocode +fish_add_path /Users/anton/.mimocode/bin