diff --git a/pull.sh b/pull.sh index 348d764..c2b4792 100644 --- a/pull.sh +++ b/pull.sh @@ -1,48 +1,66 @@ #!/bin/bash -# Stop ved fejl +# Stop scriptet ved den mindste fejl set -e -# Sørg for at scriptet køres som root +# --- 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" + echo "Dette script skal køres som root (brug 'sudo ./pull.sh')" exit 1 fi -# Tjek om vi ved, hvem den oprindelige bruger er +# 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." + echo "FEJL: Kan ikke finde den oprindelige bruger. Kør venligst scriptet med 'sudo' og ikke direkte som root-bruger." exit 1 fi -# Opdater systemet og installer nødvendige pakker -echo ">>> Opdaterer systemet og installerer Git og Ansible..." +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 nødvendige Ansible collections..." +echo ">>> Installerer ansible collections..." ansible-galaxy collection install kewlfft.aur ansible-galaxy collection install community.general -# Klon dit repository (ERSTAT MED DIN REPOSITORY URL) + +# --- 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 - echo ">>> Opdaterer eksisterende repository..." cd "$DEST" + # Sørg for at den lokale branch ikke forhindrer pull + git reset --hard HEAD git pull else - echo ">>> Kloner repository..." + # 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 filerne i repo'et +# Sørg for at den oprindelige bruger ejer alle filerne +echo ">>> Sætter korrekte filrettigheder..." chown -R $SUDO_USER:$SUDO_USER "$DEST" -# Kør Ansible Playbook -echo ">>> Kører Ansible Playbook. Dette kan tage noget tid..." -cd "$DEST" -sudo -u $SUDO_USER ansible-pull -U "$REPO_URL" -d "$DEST" --ask-vault-pass local.yml -echo ">>> Færdig! Genstart systemet for at se ændringerne." \ No newline at end of file +# --- 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 local.yml" + + +# --- TRIN 4: FÆRDIG --- +echo "" +echo "--- Script fuldført! ---" +echo "Playbook er kørt færdig. Du kan nu genstarte dit system." \ No newline at end of file