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 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
f6e7807d19
commit
4c2fa87209
12 changed files with 164 additions and 26 deletions
51
setup.sh
51
setup.sh
|
|
@ -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:"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue