#!/bin/bash # Sicherstellen, dass das Skript mit Root-Rechten ausgeführt wird if [[ $EUID -ne 0 ]]; then echo "❌ Bitte als root ausführen!" exit 1 fi # Tatsächlichen Benutzer ermitteln (nicht root) if [[ -z "$SUDO_USER" || "$SUDO_USER" == "root" ]]; then echo "❌ Fehler: Das Skript muss mit 'sudo' von einem normalen Benutzer ausgeführt werden." exit 1 fi USER_NAME="$SUDO_USER" USER_HOME=$(eval echo ~$USER_NAME) read -p "❓ Soll die Shell für $USER_NAME auf ZSH gesetzt werden? (j/n) [n]: " answer answer=${answer,,} # In Kleinbuchstaben umwandeln answer=${answer:-n} # Standardwert 'n', falls leer if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then # ZSH-Installation prüfen und ggf. installieren if ! command -v zsh &> /dev/null; then echo "ℹ️ ZSH wird installiert..." sudo pacman -S --noconfirm zsh fi # Eintrag aus getent passwd holen USER_ENTRY=$(getent passwd "$USER_NAME") # Backup der passwd Datei cp /etc/passwd /etc/passwd.bak if grep -q "^$USER_NAME:" /etc/passwd; then # Existierenden Eintrag aktualisieren sed -i "/^$USER_NAME:/s|[^:]*$|/bin/zsh|" /etc/passwd echo "ℹ️ Shell für $USER_NAME wurde auf zsh aktualisiert." else # Neuen Eintrag hinzufügen UPDATED_ENTRY=$(echo "$USER_ENTRY" | awk -F: -v OFS=: '{ $NF="/bin/zsh"; print }') echo "$UPDATED_ENTRY" >>/etc/passwd echo "ℹ️ Eintrag für $USER_NAME wurde in /etc/passwd geschrieben mit zsh als Shell." fi # Repository klonen REPO_DIR="$USER_HOME/Debian-Hyprland" sudo -u "$USER_NAME" git clone https://github.com/JaKooLit/Arch-Hyprland.git "$REPO_DIR" # Ordner nach ~/.oh-my-zsh/themes kopieren THEME_SRC="$REPO_DIR/assets/add_zsh_theme" THEME_DEST="$USER_HOME/.oh-my-zsh/themes" if [[ -d "$THEME_SRC" ]]; then sudo -u "$USER_NAME" mkdir -p "$THEME_DEST" sudo -u "$USER_NAME" cp -r "$THEME_SRC"/* "$THEME_DEST/" echo "🎨 ZSH-Theme wurde nach $THEME_DEST kopiert." else echo "⚠️ Fehler: Theme-Ordner wurde nicht gefunden!" fi # Repository löschen rm -rf "$REPO_DIR" # /etc/profile in /etc/zsh/zprofile einfügen, falls nicht bereits vorhanden if ! grep -q "source /etc/profile" /etc/zsh/zprofile; then echo "source /etc/profile" >>/etc/zsh/zprofile echo "🔧 'source /etc/profile' wurde in /etc/zsh/zprofile hinzugefügt." else echo "ℹ️ 'source /etc/profile' ist bereits in /etc/zsh/zprofile vorhanden." fi fi echo "✅ Shell wurde erfolgreich auf ZSH gesetzt! Zum Anwenden, neue Terminal-Sitzung öffnen."