setup.sh aktualisiert
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user