diff --git a/fish/.config/fish/config.fish b/fish/.config/fish/config.fish index 167c8f2..78f426e 100644 --- a/fish/.config/fish/config.fish +++ b/fish/.config/fish/config.fish @@ -80,20 +80,27 @@ set -Ux EDITOR nvim # ══════════════════════════════════════════════════════════════════ if test "$__os" = Darwin - # macOS: keychain에서 Gitea 토큰 로드 - set -gx GITEA_TOKEN (security find-internet-password -s gitea.inouter.com -a kaffa -w 2>/dev/null) # macOS: Lima 기반 컨테이너 alias docker "limactl shell docker -- docker" alias podman "limactl shell podman -- podman" alias ss='netstat -an' else if test "$__os" = Linux - # Linux: 환경변수 또는 vault에서 Gitea 토큰 로드 - if not set -q GITEA_TOKEN - set -gx GITEA_TOKEN (vault kv get -field=api_token secret/apps/gitea 2>/dev/null || echo "") - end alias ss='ss -tulnp' end +# Gitea 토큰: interactive shell에서만 로드. +# (statusline/script 등 non-interactive fish가 매번 키체인을 두드려 +# macOS에서 권한 다이얼로그가 뜨는 문제 방지) +if status is-interactive + if not set -q GITEA_TOKEN + if test "$__os" = Darwin + set -gx GITEA_TOKEN (security find-internet-password -s gitea.inouter.com -a kaffa -w 2>/dev/null) + else if test "$__os" = Linux + set -gx GITEA_TOKEN (vault kv get -field=api_token secret/apps/gitea 2>/dev/null || echo "") + end + end +end + # ══════════════════════════════════════════════════════════════════ # Claude Code tmux 단축키 # ══════════════════════════════════════════════════════════════════