Add SSH key backup script and fix git config

- Copy actual .gitconfig instead of placeholder
- Create encrypted SSH key backup script with GPG
- Add SSH-based remote setup script
- Include restore instructions and security notes

🤖 Generated with Claude Code (https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
David F Glidden
2025-07-27 13:23:22 +02:00
co-authored by Claude
parent 0838f1cf8c
commit 8bddc004a7
4 changed files with 349 additions and 0 deletions
+92
View File
@@ -0,0 +1,92 @@
#!/usr/bin/env bash
# Setup GitHub and Gitea remotes using SSH
set -euo pipefail
# Colors
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
RED='\033[0;31m'
NC='\033[0m'
echo -e "${BLUE}Setting up Git remotes with SSH${NC}"
echo "=================================="
cd ~/dotfiles
# Get GitHub username
echo -e "${YELLOW}What's your GitHub username?${NC}"
read -p "GitHub username: " GITHUB_USER
# Get Gitea details (optional)
echo ""
echo -e "${YELLOW}Gitea setup (optional - press Enter to skip):${NC}"
read -p "Gitea server URL (e.g., git.yourdomain.com): " GITEA_SERVER
if [ -n "$GITEA_SERVER" ]; then
read -p "Gitea username: " GITEA_USER
fi
echo ""
echo -e "${BLUE}Setting up remotes...${NC}"
# Add GitHub remote
if ! git remote get-url github >/dev/null 2>&1; then
git remote add github git@github.com:${GITHUB_USER}/dotfiles.git
echo -e "${GREEN}✓ Added GitHub remote${NC}"
else
echo -e "${YELLOW}GitHub remote already exists${NC}"
fi
# Add Gitea remote if provided
if [ -n "$GITEA_SERVER" ] && [ -n "$GITEA_USER" ]; then
if ! git remote get-url gitea >/dev/null 2>&1; then
git remote add gitea git@${GITEA_SERVER}:${GITEA_USER}/dotfiles.git
echo -e "${GREEN}✓ Added Gitea remote${NC}"
else
echo -e "${YELLOW}Gitea remote already exists${NC}"
fi
fi
echo ""
echo -e "${BLUE}Manual steps required:${NC}"
echo ""
echo "1. 📋 Create repositories manually:"
echo " • GitHub: https://github.com/new"
echo " - Repository name: dotfiles"
echo " - Description: 🖖 Complete macOS dotfiles system - 'Engage!'"
echo " - Public repository"
echo " - Don't initialize with README, .gitignore, or license"
if [ -n "$GITEA_SERVER" ]; then
echo " • Gitea: https://${GITEA_SERVER}/repo/create"
echo " - Repository name: dotfiles"
echo " - Description: 🖖 Complete macOS dotfiles system - 'Engage!'"
echo " - Public repository"
fi
echo ""
echo "2. 🔑 Test SSH access:"
echo " ssh -T git@github.com"
if [ -n "$GITEA_SERVER" ]; then
echo " ssh -T git@${GITEA_SERVER}"
fi
echo ""
echo "3. 🚀 Push to remotes:"
echo " git push -u github master"
if [ -n "$GITEA_SERVER" ]; then
echo " git push -u gitea master"
fi
echo ""
echo -e "${GREEN}Remote setup complete!${NC}"
echo ""
echo "Your repositories will be available at:"
echo "• GitHub: https://github.com/${GITHUB_USER}/dotfiles"
if [ -n "$GITEA_SERVER" ]; then
echo "• Gitea: https://${GITEA_SERVER}/${GITEA_USER}/dotfiles"
fi
echo ""
echo -e "${BLUE}Clone command for new machines:${NC}"
echo "git clone git@github.com:${GITHUB_USER}/dotfiles.git ~/dotfiles && ~/dotfiles/engage"