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
. /etc/os-release
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}
BIN_PATH="/usr/bin"
else
@@ -25,8 +25,8 @@ fi
# --- 3. Pakete installieren ---
echo "📦 Installiere Voraussetzungen für $SPECIFIC_ID..."
# Sudo Logik (Termux braucht kein Sudo)
if command -v sudo >/dev/null 2>&1 && [ "$SPECIFIC_ID" != "termux" ]; then
# Sudo Logik (Termux braucht kein Sudo, root auch nicht)
if command -v sudo >/dev/null 2>&1 && [ "$SPECIFIC_ID" != "termux" ] && [ "$(id -u)" -ne 0 ]; then
S="sudo"
else
S=""
@@ -41,21 +41,27 @@ case "$SPECIFIC_ID" in
$S apt-get update && $S apt-get install -y zsh curl git neovim fastfetch eza ;;
*alpine*)
$S apk add zsh curl git neovim fastfetch eza shadow ncurses-terminfo-base ;;
*fedora*|*alma*|*rocky*|*rhel*)
# dnf wird für Fedora/RHEL-Derivate genutzt
$S dnf check-update -y # Gibt oft Exit-Code 100 bei Updates zurück, daher kein '&&' zwingend
*fedora*)
# Fedora hat eza und fastfetch direkt in den offiziellen Repos
$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 ;;
esac
# --- 4. Verzeichnisse erstellen (Termux-Safe) ---
# --- 4. Verzeichnisse erstellen ---
mkdir -p "$HOME/.config/nvim" "$HOME/.config/fastfetch"
# --- 5. .zshrc mit Fallback laden ---
echo "📥 Lade ZSH-Konfiguration..."
SUCCESS=0
# Suchreihenfolge: spezifische ID -> Basis ID -> default
for TARGET in "$SPECIFIC_ID" "$BASE_ID" "default"; do
# Da ID_LIKE mehrere Werte enthalten kann (wie "rhel centos fedora"),
# 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 curl -fsSL "${GITEA_RAW}/${TARGET}.zshrc" -o "$HOME/.zshrc"; then
echo "✅ Erfolg mit ${TARGET}.zshrc"