Add 1Password SSH Agent setup prompt before nvim config
- Add prompt_1password_setup() function to guide SSH Agent configuration
- Interactive mode: detailed setup instructions and wait for user confirmation
- Non-interactive mode: automatic SSH connection testing
- Test SSH connectivity to git.nas.astrian.moe before nvim config clone
- Enhanced error messaging in setup_neovim() with troubleshooting tips
- Integrated into both full_install() and dev_only() workflows
- Ensures proper SSH setup for private repository access
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
777ee67eea
commit
c46bc69bf4
54
install.sh
54
install.sh
|
@ -317,6 +317,54 @@ setup_aliases() {
|
|||
print_message "✅ 别名配置完成" "$GREEN"
|
||||
}
|
||||
|
||||
# 提示配置 1Password SSH Agent
|
||||
prompt_1password_setup() {
|
||||
print_message "🔐 配置 1Password SSH Agent..." "$BLUE"
|
||||
|
||||
# 检查 1Password 是否已安装
|
||||
if [[ -d "/Applications/1Password 7 - Password Manager.app" ]] || [[ -d "/Applications/1Password.app" ]]; then
|
||||
print_message "📱 检测到 1Password 已安装" "$GREEN"
|
||||
|
||||
# 检测是否为交互式执行
|
||||
if [[ -t 0 ]]; then
|
||||
# 交互式执行 - 提示用户配置
|
||||
print_message "⚠️ 为了克隆 nvim 配置,需要先设置 1Password SSH Agent" "$YELLOW"
|
||||
print_message "" "$NC"
|
||||
print_message "📋 请按以下步骤配置:" "$YELLOW"
|
||||
print_message " 1. 打开 1Password 应用并登录" "$YELLOW"
|
||||
print_message " 2. 进入 Settings > Developer" "$YELLOW"
|
||||
print_message " 3. 启用 'Use the SSH agent'" "$YELLOW"
|
||||
print_message " 4. 将你的 SSH 私钥添加到 1Password" "$YELLOW"
|
||||
print_message " 5. 确保 SSH 密钥可以访问 git.nas.astrian.moe" "$YELLOW"
|
||||
print_message "" "$NC"
|
||||
|
||||
# 等待用户确认配置完成
|
||||
read -p "⚡ 1Password SSH Agent 配置完成后请按回车键继续..." -r
|
||||
echo ""
|
||||
|
||||
# 测试 SSH 连接
|
||||
print_message "🔍 测试 SSH 连接..." "$BLUE"
|
||||
if ssh -T git@git.nas.astrian.moe -o ConnectTimeout=10 -o BatchMode=yes 2>/dev/null; then
|
||||
print_message "✅ SSH 连接测试成功!" "$GREEN"
|
||||
return 0
|
||||
else
|
||||
print_message "⚠️ SSH 连接测试失败,但将继续执行" "$YELLOW"
|
||||
print_message " 如果 nvim 配置克隆失败,请检查 SSH 配置" "$YELLOW"
|
||||
fi
|
||||
else
|
||||
# 非交互式执行 - 自动尝试
|
||||
print_message "🔍 自动检测 SSH 连接状态..." "$YELLOW"
|
||||
if ssh -T git@git.nas.astrian.moe -o ConnectTimeout=10 -o BatchMode=yes 2>/dev/null; then
|
||||
print_message "✅ SSH 连接可用" "$GREEN"
|
||||
else
|
||||
print_message "⚠️ SSH 连接不可用,nvim 配置可能无法克隆" "$YELLOW"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
print_message "⚠️ 未检测到 1Password,跳过 SSH Agent 配置" "$YELLOW"
|
||||
fi
|
||||
}
|
||||
|
||||
# 配置 Neovim
|
||||
setup_neovim() {
|
||||
print_message "⚙️ 配置 Neovim..." "$BLUE"
|
||||
|
@ -332,7 +380,9 @@ setup_neovim() {
|
|||
if git clone git@git.nas.astrian.moe:Astrian/nvim-config.git ~/.config/nvim 2>/dev/null; then
|
||||
print_message "✅ Neovim 配置已应用!" "$GREEN"
|
||||
else
|
||||
print_message "⚠️ 无法克隆 nvim 配置(SSH 密钥未配置)" "$YELLOW"
|
||||
print_message "⚠️ 无法克隆 nvim 配置" "$YELLOW"
|
||||
print_message " 请确保已正确配置 1Password SSH Agent" "$YELLOW"
|
||||
print_message " 或手动执行:git clone git@git.nas.astrian.moe:Astrian/nvim-config.git ~/.config/nvim" "$YELLOW"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
@ -368,6 +418,7 @@ full_install() {
|
|||
install_node
|
||||
install_claude_code
|
||||
setup_aliases
|
||||
prompt_1password_setup
|
||||
setup_neovim
|
||||
|
||||
echo ""
|
||||
|
@ -401,6 +452,7 @@ dev_only() {
|
|||
install_oh_my_zsh
|
||||
install_node
|
||||
install_claude_code
|
||||
prompt_1password_setup
|
||||
setup_neovim
|
||||
print_message "✅ 开发环境配置完成!" "$GREEN"
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user