Repos lokal klonen vor Setup, WireGuard automatisch deployen

- setup.sh klont macbook-setup + dotfiles-rene lokal (Credentials
  einmalig im interaktiven Terminal statt im Autostart)
- setup-base.sh nutzt lokale Dateien wenn vorhanden (wget-Fallback
  fuer Autoinstall bleibt erhalten), deployed WireGuard-Config
- wireguard/ aus .gitignore entfernt, Configs werden getrackt
- WireGuard aus manueller Checkliste entfernt
This commit is contained in:
rene 2026-03-12 16:52:48 +01:00
parent 56bf15e03a
commit 6a6acca19f
12 changed files with 164 additions and 26 deletions

View file

@ -1,11 +1,15 @@
#!/bin/bash
# macbook-setup/setup.sh
# Post-Install-Skript für Linux auf MacBook Pro
# Startet setup-base.sh und richtet setup-desktop.sh als Autostart ein
# Klont alle Repos lokal, führt setup-base.sh aus und richtet Autostart ein
#
# Verwendung: curl -fsSL https://git.motocamp.de/rene/macbook-setup/raw/branch/main/setup.sh | bash
# Verwendung:
# curl -fsSL https://git.motocamp.de/rene/macbook-setup/raw/branch/main/setup.sh | bash
# oder: cd macbook-setup && bash setup.sh
SETUP_RAW="https://git.motocamp.de/rene/macbook-setup/raw/branch/main"
FORGEJO="https://git.motocamp.de"
MACBOOK_REPO="$FORGEJO/rene/macbook-setup.git"
DOTFILES_REPO="$FORGEJO/rene/dotfiles-rene.git"
# ── Farben ──────────────────────────────────────────────────────────────
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; NC='\033[0m'
@ -33,27 +37,50 @@ echo "════════════════════════
echo " macbook-setup für MBP $MODEL\""
echo "════════════════════════════════════════════"
# ── Phase 1: System-Setup (als root) ────────────────────────────────────
echo -e "\n>>> Phase 1: setup-base.sh (System)"
curl -fsSL "$SETUP_RAW/setup-base.sh" | sudo bash -s -- "$MODEL"
ok "Phase 1 abgeschlossen"
# ── Phase 1: Repos lokal klonen ──────────────────────────────────────────
echo -e "\n>>> Phase 1: Repos lokal bereitstellen"
# ── Phase 2: Desktop-Setup als Autostart einrichten ──────────────────────
echo -e "\n>>> Phase 2: setup-desktop.sh wird als Autostart eingerichtet"
REPO_DIR="$HOME/git-projekte/macbook-setup"
if [[ -d "$REPO_DIR/.git" ]]; then
ok "macbook-setup bereits vorhanden: $REPO_DIR"
else
mkdir -p "$HOME/git-projekte"
git clone "$MACBOOK_REPO" "$REPO_DIR"
ok "macbook-setup geklont"
fi
DOTFILES_DIR="$HOME/git-projekte/dotfiles-rene"
if [[ -d "$DOTFILES_DIR/.git" ]]; then
ok "dotfiles-rene bereits vorhanden: $DOTFILES_DIR"
else
echo ""
echo "Dotfiles-Repo wird geklont (Forgejo-Zugangsdaten erforderlich):"
mkdir -p "$HOME/git-projekte"
git clone "$DOTFILES_REPO" "$DOTFILES_DIR"
ok "dotfiles-rene geklont"
fi
# ── Phase 2: System-Setup (als root) ────────────────────────────────────
echo -e "\n>>> Phase 2: setup-base.sh (System)"
sudo bash "$REPO_DIR/setup-base.sh" "$MODEL"
ok "Phase 2 abgeschlossen"
# ── Phase 3: Desktop-Setup als Autostart einrichten ──────────────────────
echo -e "\n>>> Phase 3: setup-desktop.sh wird als Autostart eingerichtet"
mkdir -p ~/.config/autostart
cat > ~/.config/autostart/macbook-setup-desktop.desktop <<DTEOF
[Desktop Entry]
Type=Application
Name=MacBook Setup Desktop
Exec=xfce4-terminal -e "bash -c 'curl -fsSL $SETUP_RAW/setup-desktop.sh -o /tmp/setup-desktop.sh && bash /tmp/setup-desktop.sh 2>&1 | tee /tmp/setup-desktop.log; echo; echo Setup abgeschlossen - Enter zum Schliessen; read'"
Exec=xfce4-terminal -e "bash -c 'bash $REPO_DIR/setup-desktop.sh 2>&1 | tee /tmp/setup-desktop.log; echo; echo Setup abgeschlossen - Enter zum Schliessen; read'"
Hidden=false
X-GNOME-Autostart-enabled=true
DTEOF
ok "Autostart für setup-desktop.sh eingerichtet"
ok "Autostart für setup-desktop.sh eingerichtet (lokal: $REPO_DIR)"
echo ""
echo "════════════════════════════════════════════"
echo -e " ${GREEN}Phase 1 abgeschlossen!${NC}"
echo -e " ${GREEN}Vorbereitung abgeschlossen!${NC}"
echo "════════════════════════════════════════════"
echo ""
echo "Nächster Schritt:"