setup.sh aktualisiert

This commit is contained in:
Tim
2026-05-30 16:00:06 +02:00
parent 7858891050
commit 1c0c91301b
+15 -9
View File
@@ -13,7 +13,7 @@ if [ -d "/data/data/com.termux/files/usr" ]; then
elif [ -f /etc/os-release ]; then elif [ -f /etc/os-release ]; then
. /etc/os-release . /etc/os-release
SPECIFIC_ID=$ID SPECIFIC_ID=$ID
# Falls ID_LIKE nicht gesetzt ist (z.B. direkt auf Fedora), nutzen wir die ID als Base # Nutzt ID_LIKE, falls vorhanden, sonst Fallback auf ID
BASE_ID=${ID_LIKE:-$ID} BASE_ID=${ID_LIKE:-$ID}
BIN_PATH="/usr/bin" BIN_PATH="/usr/bin"
else else
@@ -25,8 +25,8 @@ fi
# --- 3. Pakete installieren --- # --- 3. Pakete installieren ---
echo "📦 Installiere Voraussetzungen für $SPECIFIC_ID..." echo "📦 Installiere Voraussetzungen für $SPECIFIC_ID..."
# Sudo Logik (Termux braucht kein Sudo) # Sudo Logik (Termux braucht kein Sudo, root auch nicht)
if command -v sudo >/dev/null 2>&1 && [ "$SPECIFIC_ID" != "termux" ]; then if command -v sudo >/dev/null 2>&1 && [ "$SPECIFIC_ID" != "termux" ] && [ "$(id -u)" -ne 0 ]; then
S="sudo" S="sudo"
else else
S="" S=""
@@ -41,21 +41,27 @@ case "$SPECIFIC_ID" in
$S apt-get update && $S apt-get install -y zsh curl git neovim fastfetch eza ;; $S apt-get update && $S apt-get install -y zsh curl git neovim fastfetch eza ;;
*alpine*) *alpine*)
$S apk add zsh curl git neovim fastfetch eza shadow ncurses-terminfo-base ;; $S apk add zsh curl git neovim fastfetch eza shadow ncurses-terminfo-base ;;
*fedora*|*alma*|*rocky*|*rhel*) *fedora*)
# dnf wird für Fedora/RHEL-Derivate genutzt # Fedora hat eza und fastfetch direkt in den offiziellen Repos
$S dnf check-update -y # Gibt oft Exit-Code 100 bei Updates zurück, daher kein '&&' zwingend $S dnf check-update -y
$S dnf install -y zsh curl git neovim fastfetch eza util-linux-user ;;
*alma*|*rocky*|*rhel*|*centos*)
# Enterprise Linux benötigt EPEL für fastfetch/eza
$S dnf install -y epel-release
$S dnf check-update -y
$S dnf install -y zsh curl git neovim fastfetch eza util-linux-user ;; $S dnf install -y zsh curl git neovim fastfetch eza util-linux-user ;;
esac esac
# --- 4. Verzeichnisse erstellen (Termux-Safe) --- # --- 4. Verzeichnisse erstellen ---
mkdir -p "$HOME/.config/nvim" "$HOME/.config/fastfetch" mkdir -p "$HOME/.config/nvim" "$HOME/.config/fastfetch"
# --- 5. .zshrc mit Fallback laden --- # --- 5. .zshrc mit Fallback laden ---
echo "📥 Lade ZSH-Konfiguration..." echo "📥 Lade ZSH-Konfiguration..."
SUCCESS=0 SUCCESS=0
# Suchreihenfolge: spezifische ID -> Basis ID -> default # Da ID_LIKE mehrere Werte enthalten kann (wie "rhel centos fedora"),
for TARGET in "$SPECIFIC_ID" "$BASE_ID" "default"; do # loopen wir sauber durch alle Wörter in BASE_ID
for TARGET in "$SPECIFIC_ID" $BASE_ID "default"; do
if [ -n "$TARGET" ] && [ "$SUCCESS" -eq 0 ]; then if [ -n "$TARGET" ] && [ "$SUCCESS" -eq 0 ]; then
if curl -fsSL "${GITEA_RAW}/${TARGET}.zshrc" -o "$HOME/.zshrc"; then if curl -fsSL "${GITEA_RAW}/${TARGET}.zshrc" -o "$HOME/.zshrc"; then
echo "✅ Erfolg mit ${TARGET}.zshrc" echo "✅ Erfolg mit ${TARGET}.zshrc"