diff --git a/0_Setup.sh b/0_Setup.sh index d812b9d..ef5af20 100755 --- a/0_Setup.sh +++ b/0_Setup.sh @@ -7,6 +7,57 @@ if [ "$(id -u)" -ne 0 ]; then fi apt update && apt upgrade -y + +# sources-list Config +read -p "❓ Soll die apt sources-list so konfiguriert werden, dass sie Contributions und non-free Software zum installieren ermöglicht? (j/n) [n]: " answer +answer=${answer,,} # In Kleinbuchstaben umwandeln +answer=${answer:-n} # Standardwert 'n', falls leer + +if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then + # Datei-Pfad zur sources.list + SOURCE_LIST="/etc/apt/sources.list" + + # Backup erstellen + cp "$SOURCE_LIST" "$SOURCE_LIST.bak" + + echo "ℹ️ Aktualisiere $SOURCE_LIST..." + + # Neue Datei erzeugen + TEMP_FILE=$(mktemp) + + while IFS= read -r line; do + # Falls die Zeile auskommentiert oder leer ist, unverändert übernehmen + if [[ "$line" =~ ^# || -z "$line" ]]; then + echo "$line" >> "$TEMP_FILE" + continue + fi + + # Den eigentlichen APT-Eintrag und die aktuellen Komponenten extrahieren + APT_ENTRY=$(echo "$line" | awk '{for (i=1; i<=NF; i++) if ($i ~ /^[a-zA-Z0-9.-]+:\/\//) {print substr($0, 1, index($0,$i) + length($i) - 1); exit}}') + COMPONENTS=$(echo "$line" | awk '{$1=$2=$3=""; print $0}' | xargs) + + # Fehlende Komponenten hinzufügen + for component in main non-free non-free-firmware contrib; do + if ! grep -qE "(^| )$component( |$)" <<< "$COMPONENTS"; then + COMPONENTS="$COMPONENTS $component" + fi + done + + # Neue Zeile zusammenbauen + echo "$APT_ENTRY $COMPONENTS" >> "$TEMP_FILE" + + done < "$SOURCE_LIST" + + # Originaldatei ersetzen + mv "$TEMP_FILE" "$SOURCE_LIST" + + # apt aktualisieren + echo "🔄 Aktualisiere APT..." + apt update + + echo "✅ Fertig! $SOURCE_LIST wurde aktualisiert." +fi + apt install -y git sudo 7zip unrar unzip network-manager software-properties-common tree bluetooth wget curl # GRUB-Config