#!/bin/bash # macbook-setup/setup.sh # Post-Install-Skript für Linux auf MacBook Pro # 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 # oder: cd macbook-setup && bash setup.sh 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' ok() { echo -e "${GREEN}✓ $*${NC}"; } warn() { echo -e "${YELLOW}⚠ $*${NC}"; } fail() { echo -e "${RED}✗ $*${NC}"; exit 1; } # ── Root-Check ─────────────────────────────────────────────────────────── [[ $EUID -eq 0 ]] && fail "Nicht als root ausführen. sudo wird intern verwendet." # ── Modell ermitteln ───────────────────────────────────────────────────── if [[ "$1" == "13" || "$1" == "16" ]]; then MODEL="$1" else echo "" echo "Welches MacBook Pro?" echo " 13 = MBP 13\" Late 2013" echo " 16 = MBP 16\" Mid 2014 (Intel + AMD Radeon)" read -rp "Modell [13/16]: " MODEL < /dev/tty [[ "$MODEL" != "13" && "$MODEL" != "16" ]] && fail "Ungültiges Modell: $MODEL" fi echo "" echo "════════════════════════════════════════════" echo " macbook-setup für MBP $MODEL\"" echo "════════════════════════════════════════════" # ── Phase 1: Repos lokal klonen ────────────────────────────────────────── echo -e "\n>>> Phase 1: Repos lokal bereitstellen" 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 <&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 (lokal: $REPO_DIR)" echo "" echo "════════════════════════════════════════════" echo -e " ${GREEN}Vorbereitung abgeschlossen!${NC}" echo "════════════════════════════════════════════" echo "" echo "Nächster Schritt:" echo " sudo reboot" echo "" echo "Nach dem Reboot in XFCE einloggen —" echo "setup-desktop.sh startet automatisch."