Files
2026-09-23 21:49:06 +02:00

69 lines
2.2 KiB
Bash

#!/bin/bash
set -euo pipefail
SETUP_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PACKAGES_FILE="$SETUP_DIR/packages.txt"
# shellcheck source=../lib/common.sh
source "$SETUP_DIR/../lib/common.sh"
# ---------------------------------------------------------------------------
# Docker: Dienst aktivieren/starten, Benutzer in die docker-Gruppe aufnehmen
# und den Dienst verifizieren. (docker selbst wird ueber setup/basic/packages.txt
# als Pacman-Paket installiert.)
# ---------------------------------------------------------------------------
setup_docker() {
if ! command -v docker >/dev/null 2>&1; then
echo "Warnung: docker nicht installiert; ueberspringe Docker-Setup."
return
fi
echo "==> Aktiviere und starte Docker-Dienst ..."
sudo systemctl enable --now docker
# Bei Aufruf via `sudo <script>` ist SUDO_USER der eigentliche Benutzer.
local target_user="${SUDO_USER:-$USER}"
echo "==> Stelle sicher, dass $target_user in der docker-Gruppe ist ..."
if [[ "$target_user" == "root" ]] || id -nG "$target_user" 2>/dev/null | grep -qw docker; then
echo "Benutzer $target_user ist bereits in der docker-Gruppe."
else
sudo usermod -aG docker "$target_user"
echo "Benutzer $target_user zur docker-Gruppe hinzugefuegt; wirksam nach dem naechsten Login."
fi
echo "==> Pruefe Docker-Dienst ..."
if systemctl is-active --quiet docker; then
echo "Docker-Dienst laeuft (Socket: /var/run/docker.sock)."
else
echo "Warnung: Docker-Dienst laeuft nicht; pruefe mit: systemctl status docker"
fi
}
# ---------------------------------------------------------------------------
# Main
# ---------------------------------------------------------------------------
main() {
local -a pacman_pkgs=() aur_pkgs=() npm_pkgs=()
echo "==> Aktiviere multilib ..."
enable_multilib
echo "==> System aktualisieren ..."
sudo pacman -Syu
echo "==> Sicherstelle yay ..."
ensure_yay
echo "==> Lese Paketliste: $PACKAGES_FILE"
read_packages "$PACKAGES_FILE" pacman_pkgs aur_pkgs npm_pkgs
install_all_pkgs pacman_pkgs aur_pkgs npm_pkgs
echo "==> Richte Docker ein ..."
setup_docker
echo "Fertig. Die Basis-Systemumgebung ist eingerichtet."
}
main