#!/bin/bash # Stop scriptet ved den mindste fejl set -e # --- TRIN 1: KØRES SOM ROOT --- # Tjek om scriptet køres med sudo if [[ $EUID -ne 0 ]]; then echo "Dette script skal køres som root (brug 'sudo ./pull.sh')" exit 1 fi # Tjek at vi ved, hvem den oprindelige bruger er if [ -z "$SUDO_USER" ]; then echo "FEJL: Kan ikke finde den oprindelige bruger. Kør venligst scriptet med 'sudo' og ikke direkte som root-bruger." exit 1 fi echo "--- Systemopsætning (kører som root) ---" # Opdater systemet og installer de nødvendige grundpakker echo ">>> Installerer git og ansible..." pacman -Syu --noconfirm git ansible # Installer de nødvendige Ansible Collections echo ">>> Installerer ansible collections..." ansible-galaxy collection install kewlfft.aur ansible-galaxy collection install community.general # --- TRIN 2: HENT PLAYBOOK (KØRES SOM ROOT) --- # Definer stier (erstat med din egen repo-URL) REPO_URL="https://git.futurebreeze.dk/mhah/Workstation_Arch_Hyprland.git" DEST="/opt/ansible-desktop" echo ">>> Henter playbook fra git..." if [ -d "$DEST" ]; then cd "$DEST" # Sørg for at den lokale branch ikke forhindrer pull git reset --hard HEAD git pull else # Tilføj -k til curl/git hvis du bruger selv-signerede certifikater git clone "$REPO_URL" "$DEST" fi # Sørg for at den oprindelige bruger ejer alle filerne echo ">>> Sætter korrekte filrettigheder..." chown -R $SUDO_USER:$SUDO_USER "$DEST" # --- TRIN 3: KØR PLAYBOOK (SKIFTER TIL DIN BRUGER) --- echo "" echo "--- Udfører Ansible Playbook (skifter til bruger '$SUDO_USER') ---" echo "Gør dig klar til at indtaste din Vault adgangskode..." echo "" # Skift til den oprindelige bruger og kør playbook'en # Brugen af 'bash -c' sikrer, at kommandoerne køres korrekt i den rigtige kontekst sudo -u $SUDO_USER bash -c "cd '$DEST' && ansible-playbook --ask-vault-pass --ask-become-pass local.yml" # --- TRIN 4: FÆRDIG --- echo "" echo "--- Script fuldført! ---" echo "Playbook er kørt færdig. Du kan nu genstarte dit system."