Files
Mikkel Harboe Arp Henriksen e9b68d1f62 mindre fejl rettelse
2025-06-14 16:33:55 +02:00

66 lines
2.0 KiB
Bash

#!/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."