Feat: Logging mit Abfrage.

This commit is contained in:
DragonSlayer_14 2025-03-24 18:34:56 +01:00
parent 86da8cf610
commit c6b18177f8
10 changed files with 382 additions and 289 deletions

View File

@ -2,15 +2,21 @@
# Root-Rechte prüfen # Root-Rechte prüfen
if [ "$(id -u)" -ne 0 ]; then if [ "$(id -u)" -ne 0 ]; then
echo "Bitte mit sudo ausführen!" echo "❌ Bitte als root ausführen!"
exit 1 exit 1
fi fi
apt update && apt upgrade -y apt update && apt upgrade -y
apt install -y git sudo 7zip unrar unzip network-manager software-properties-common tree bluetooth apt install -y git sudo 7zip unrar unzip network-manager software-properties-common tree bluetooth wget curl
# Der Code, der eingefügt werden soll # sbin in Path
CONFIG_BLOCK='if groups | grep -q "\bsudo\b"; then read -p "❓ Soll sbin für sudo-Nutzer in den PATH aufgenommen werden? (j/n) [n]: " answer
answer=${answer,,} # In Kleinbuchstaben umwandeln
answer=${answer:-n} # Standardwert 'n', falls leer
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
cat << 'EOF' > /etc/profile.d/sbin_in_path.sh
if groups | grep -q "\bsudo\b"; then
case ":$PATH:" in case ":$PATH:" in
*":/sbin:"*) ;; *":/sbin:"*) ;;
*) export PATH="$PATH:/sbin" ;; *) export PATH="$PATH:/sbin" ;;
@ -19,33 +25,40 @@ case ":$PATH:" in
*":/usr/sbin:"*) ;; *":/usr/sbin:"*) ;;
*) export PATH="$PATH:/usr/sbin" ;; *) export PATH="$PATH:/usr/sbin" ;;
esac esac
fi' fi
EOF
# Saubere Lösung über /etc/profile.d/ echo " sbin wurde zum PATH für sudo-Nutzer hinzugefügt."
echo "$CONFIG_BLOCK" >/etc/profile.d/custom_path.sh fi
# Sudo-Hinweis für bash.bashrc # sudo-Hinweis
SUDO_HINT_BLOCK='# sudo hint read -p "❓ Soll ein sudo-Hinweis hinzugefügt werden? (j/n) [n]: " answer
answer=${answer,,} # In Kleinbuchstaben umwandeln
answer=${answer:-n} # Standardwert 'n', falls leer
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
cat << 'EOF' > /etc/profile.d/sudo_hint.sh
if [ ! -e "$HOME/.sudo_as_admin_successful" ] && [ ! -e "$HOME/.hushlogin" ] ; then if [ ! -e "$HOME/.sudo_as_admin_successful" ] && [ ! -e "$HOME/.hushlogin" ] ; then
case " $(groups) " in *\ admin\ *|*\ sudo\ *) case " $(groups) " in *\ admin\ *|*\ sudo\ *)
if [ -x /usr/bin/sudo ]; then if [ -x /usr/bin/sudo ]; then
cat <<-EOF echo 'To run a command as administrator (user "root"), use "sudo <command>".'
To run a command as administrator (user "root"), use "sudo <command>". echo 'See "man sudo_root" for details.'
See "man sudo_root" for details.
EOF
fi fi
esac esac
fi' fi
EOF
# Prüfen, ob der sudo-Hinweis bereits existiert echo " sudo-Hinweis wurde hinzugefügt!"
if ! grep -Fxq "# sudo hint" /etc/bash.bashrc; then
echo -e "\n$SUDO_HINT_BLOCK" | tee -a /etc/bash.bashrc >/dev/null
echo "Sudo-Hinweis zur bash.bashrc hinzugefügt."
else
echo "Sudo-Hinweis ist bereits in bash.bashrc vorhanden."
fi fi
XDG_BLOCK='# /etc/profile.d/desktop_session_xdg_dirs.sh - Prepend a $DESKTOP_SESSION-named directory to $XDG_CONFIG_DIRS and $XDG_DATA_DIRS # sudo-Hinweis
read -p "❓ Sollen die XDG-Data-Dirs gesetzt werden? (j/n) [n]: " answer
answer=${answer,,} # In Kleinbuchstaben umwandeln
answer=${answer:-n} # Standardwert 'n', falls leer
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
cat << 'EOF' > /etc/profile.d/xdg_dirs_desktop_session.sh
# /etc/profile.d/desktop_session_xdg_dirs.sh - Prepend a $DESKTOP_SESSION-named directory to $XDG_CONFIG_DIRS and $XDG_DATA_DIRS
DEFAULT_XDG_CONFIG_DIRS="/etc/xdg" DEFAULT_XDG_CONFIG_DIRS="/etc/xdg"
DEFAULT_XDG_DATA_DIRS="/usr/local/share/:/usr/share/" DEFAULT_XDG_DATA_DIRS="/usr/local/share/:/usr/share/"
@ -70,9 +83,11 @@ if [ -n "$DESKTOP_SESSION" ]; then
export XDG_DATA_DIRS export XDG_DATA_DIRS
fi fi
fi fi
' EOF
echo "$XDG_BLOCK" >/etc/profile.d/xdg_dirs_desktop_session.sh echo " XDG-Data-Dirs wurden gesetzt!"
fi
echo "Fertig! Bitte neu einloggen." chmod +x /etc/profile.d/*
echo "✅ Abgeschlossen. Zum Anwenden der Änderungen bitte neu einloggen!"

View File

@ -4,7 +4,7 @@ set -e # Skript bricht bei Fehlern ab
# Sicherstellen, dass das Skript **nicht** als root ausgeführt wird # Sicherstellen, dass das Skript **nicht** als root ausgeführt wird
if [[ $EUID -eq 0 ]]; then if [[ $EUID -eq 0 ]]; then
echo "Bitte **nicht** als root oder mit sudo ausführen! Das Skript fordert sudo nur dort an, wo es benötigt wird." echo "Bitte **nicht** als root oder mit sudo ausführen! Das Skript fordert sudo nur dort an, wo es benötigt wird."
exit 1 exit 1
fi fi

View File

@ -2,33 +2,39 @@
# Root-Rechte prüfen # Root-Rechte prüfen
if [ "$(id -u)" -ne 0 ]; then if [ "$(id -u)" -ne 0 ]; then
echo "Bitte mit sudo ausführen!" echo "❌ Bitte als root ausführen!"
exit 1 exit 1
fi fi
# Sicherheitsabfrage # Sicherheitsabfrage
read -p "Achtung! Du führst ein Release-Upgrade auf Debian Trixie durch. Fortfahren? (ja/nein): " choice read -p "⚠️ Achtung! Du führst ein Release-Upgrade auf Debian Trixie durch. Fortfahren? (ja/nein): " answer
if [[ "$choice" != "ja" ]]; then answer=${answer,,} # In Kleinbuchstaben umwandeln
echo "Upgrade abgebrochen." answer=${answer:-n} # Standardwert 'n', falls leer
if [[ "$answer" != "j" ]] || [[ "$answer" != "y" ]]; then
echo "❌ Upgrade abgebrochen."
exit 0 exit 0
fi fi
echo "Aktualisiere Paketlisten..." echo " Aktualisiere Paketlisten..."
sudo apt-get update sudo apt-get update
echo "Starte System-Upgrade..." echo " Starte System-Upgrade..."
sudo apt-get full-upgrade -y sudo apt-get full-upgrade -y
echo "Ändere die Paketquellen auf Debian Trixie..." echo " Ändere die Paketquellen auf Debian Trixie..."
sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
sudo find /etc/apt/sources.list.d -type f -exec sed -i 's/bookworm/trixie/g' {} \; sudo find /etc/apt/sources.list.d -type f -exec sed -i 's/bookworm/trixie/g' {} \;
echo "Aktualisiere Paketlisten erneut..." echo " Aktualisiere Paketlisten erneut..."
sudo apt-get update sudo apt-get update
echo "Starte vollständiges Release-Upgrade..." echo " Starte vollständiges Release-Upgrade..."
sudo apt-get full-upgrade -y sudo apt-get full-upgrade -y
echo "System wird jetzt neu gestartet..."
read -p "❓ Drücke [ENTER], um das System jetzt neuzustarten."
echo " System wird jetzt neu gestartet..."
sudo reboot sudo reboot

View File

@ -2,25 +2,30 @@
# Root-Rechte prüfen # Root-Rechte prüfen
if [ "$(id -u)" -eq 0 ]; then if [ "$(id -u)" -eq 0 ]; then
echo "Bitte nicht als Root ausführen! Das Skript nutzt sudo, falls nötig." echo "❌ Bitte nicht als root ausführen! Das Skript nutzt sudo, falls nötig."
exit 1 exit 1
fi fi
# Verzeichnis setzen # Verzeichnis setzen
REPO_DIR="$HOME/Linux-Active-Directory-join-script" REPO_DIR="/tmp/Linux-Active-Directory-join-script"
# Repository klonen, falls es noch nicht existiert # Repository klonen, falls es noch nicht existiert
if [ -d "$REPO_DIR" ]; then if [ -d "$REPO_DIR" ]; then
echo "Repository existiert bereits. Überspringe das Klonen." echo " Repository existiert bereits. Überspringe das Klonen."
else else
echo "Klonen des Repositories..." echo " Klonen des Repositories..."
git clone https://gitea.creative-dragonslayer.de/DragonSlayer_14/Linux-Active-Directory-join-script.git "$REPO_DIR" git clone https://gitea.creative-dragonslayer.de/DragonSlayer_14/Linux-Active-Directory-join-script.git "$REPO_DIR"
fi fi
# In das Verzeichnis wechseln # In das Verzeichnis wechseln
cd "$REPO_DIR" || { echo "Fehler: Konnte nicht in das Verzeichnis wechseln!"; exit 1; } cd "$REPO_DIR" || { echo "Fehler: Konnte nicht in das Verzeichnis wechseln!"; exit 1; }
# AD-Skript ausführen # AD-Skript ausführen
echo "Starte Active Directory Verbindung..." if [ -f "ADconnection.sh" ]; then
sudo bash ADconnection.sh chmod +x ADconnection.sh
echo " Starte Active Directory setup..."
./ADconnection.sh
else
echo "❌ Fehler: ADconnection.sh nicht gefunden!"
exit 1
fi

View File

@ -1,26 +1,31 @@
#!/bin/bash #!/bin/bash
# Root-Rechte prüfen
if [ "$(id -u)" -eq 0 ]; then
echo "❌ Bitte nicht als root ausführen! Das Skript nutzt sudo, falls nötig."
exit 1
fi
# Repository-Pfad definieren # Repository-Pfad definieren
REPO_DIR="$HOME/Debian-Hyprland" REPO_DIR="/tmp/Debian-Hyprland"
# Falls das Repository bereits existiert, überspringen # Falls das Repository bereits existiert, überspringen
if [ -d "$REPO_DIR" ]; then if [ -d "$REPO_DIR" ]; then
echo "Repository existiert bereits. Aktualisiere stattdessen..." echo " Repository existiert bereits. Überspringe das klonen..."
cd "$REPO_DIR" || { echo "Fehler: Konnte nicht in das Verzeichnis wechseln!"; exit 1; }
git pull
else else
echo "Klonen des Repositories..." echo " Klonen des Repositories..."
git clone --depth=1 https://github.com/JaKooLit/Debian-Hyprland.git "$REPO_DIR" || { echo "Fehler beim Klonen!"; exit 1; } git clone --depth=1 https://github.com/JaKooLit/Debian-Hyprland.git "$REPO_DIR" || { echo "Fehler beim Klonen!"; exit 1; }
cd "$REPO_DIR" || { echo "Fehler: Konnte nicht in das Verzeichnis wechseln!"; exit 1; }
fi fi
# In das Verzeichnis wechseln
cd "$REPO_DIR" || { echo "❌ Fehler: Konnte nicht in das Verzeichnis wechseln!"; exit 1; }
# Sicherstellen, dass das Installationsskript existiert und ausführbar ist # Sicherstellen, dass das Installationsskript existiert und ausführbar ist
if [ -f "install.sh" ]; then if [ -f "install.sh" ]; then
chmod +x install.sh chmod +x install.sh
echo "Starte Installation..." echo " Starte Installation..."
./install.sh ./install.sh
else else
echo "Fehler: install.sh nicht gefunden!" echo "Fehler: install.sh nicht gefunden!"
exit 1 exit 1
fi fi

View File

@ -2,19 +2,24 @@
# Sicherstellen, dass das Skript mit Root-Rechten ausgeführt wird # Sicherstellen, dass das Skript mit Root-Rechten ausgeführt wird
if [[ $EUID -ne 0 ]]; then if [[ $EUID -ne 0 ]]; then
echo "Dieses Skript muss als root ausgeführt werden." echo "❌ Bitte als root ausführen!"
exit 1 exit 1
fi fi
# Tatsächlichen Benutzer ermitteln (nicht root) # Tatsächlichen Benutzer ermitteln (nicht root)
if [[ -z "$SUDO_USER" || "$SUDO_USER" == "root" ]]; then if [[ -z "$SUDO_USER" || "$SUDO_USER" == "root" ]]; then
echo "Fehler: Das Skript muss mit 'sudo' von einem normalen Benutzer ausgeführt werden." echo "Fehler: Das Skript muss mit 'sudo' von einem normalen Benutzer ausgeführt werden."
exit 1 exit 1
fi fi
USER_NAME="$SUDO_USER" USER_NAME="$SUDO_USER"
USER_HOME=$(eval echo ~$USER_NAME) 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
# Eintrag aus getent passwd holen # Eintrag aus getent passwd holen
USER_ENTRY=$(getent passwd "$USER_NAME") USER_ENTRY=$(getent passwd "$USER_NAME")
@ -24,12 +29,12 @@ cp /etc/passwd /etc/passwd.bak
if grep -q "^$USER_NAME:" /etc/passwd; then if grep -q "^$USER_NAME:" /etc/passwd; then
# Existierenden Eintrag aktualisieren # Existierenden Eintrag aktualisieren
sed -i "/^$USER_NAME:/s|[^:]*$|/bin/zsh|" /etc/passwd sed -i "/^$USER_NAME:/s|[^:]*$|/bin/zsh|" /etc/passwd
echo "Shell für $USER_NAME wurde auf zsh aktualisiert." echo " Shell für $USER_NAME wurde auf zsh aktualisiert."
else else
# Neuen Eintrag hinzufügen # Neuen Eintrag hinzufügen
UPDATED_ENTRY=$(echo "$USER_ENTRY" | awk -F: -v OFS=: '{ $NF="/bin/zsh"; print }') UPDATED_ENTRY=$(echo "$USER_ENTRY" | awk -F: -v OFS=: '{ $NF="/bin/zsh"; print }')
echo "$UPDATED_ENTRY" >>/etc/passwd echo "$UPDATED_ENTRY" >>/etc/passwd
echo "Eintrag für $USER_NAME wurde in /etc/passwd geschrieben mit zsh als Shell." echo " Eintrag für $USER_NAME wurde in /etc/passwd geschrieben mit zsh als Shell."
fi fi
# Repository klonen # Repository klonen
@ -58,5 +63,6 @@ if ! grep -q "source /etc/profile" /etc/zsh/zprofile; then
else else
echo " 'source /etc/profile' ist bereits in /etc/zsh/zprofile vorhanden." echo " 'source /etc/profile' ist bereits in /etc/zsh/zprofile vorhanden."
fi fi
fi
echo "✅ Installation abgeschlossen!" echo "✅ Shell wurde erfolgreich auf ZSH gesetzt! Zum Anwenden, neue Terminal-Sitzung öffnen."

View File

@ -2,13 +2,18 @@
# Sicherstellen, dass das Skript mit Root-Rechten ausgeführt wird # Sicherstellen, dass das Skript mit Root-Rechten ausgeführt wird
if [[ $EUID -ne 0 ]]; then if [[ $EUID -ne 0 ]]; then
echo "Dieses Skript muss als root ausgeführt werden." echo "Dieses Skript muss als root ausgeführt werden."
exit 1 exit 1
fi fi
read -p "❓ Soll SDDM so konfiguriert werden, dass Domänenbenutzer angezeigt werden? (j/n) [n]: " answer
answer=${answer,,} # In Kleinbuchstaben umwandeln
answer=${answer:-n} # Standardwert 'n', falls leer
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
# SDDM-Konfigurationsdatei in sddm.conf.d erstellen # SDDM-Konfigurationsdatei in sddm.conf.d erstellen
SDDM_CONF_DIR="/etc/sddm.conf.d" SDDM_CONF_DIR="/etc/sddm.conf.d"
SDDM_CUSTOM_CONF="$SDDM_CONF_DIR/custom.conf" SDDM_CUSTOM_CONF="$SDDM_CONF_DIR/ad_login.conf"
mkdir -p "$SDDM_CONF_DIR" mkdir -p "$SDDM_CONF_DIR"
# Bestehende Konfiguration sichern und anpassen # Bestehende Konfiguration sichern und anpassen
@ -16,13 +21,13 @@ if [[ -f "$SDDM_CUSTOM_CONF" ]]; then
sed -i '/MaximumUid/d' "$SDDM_CUSTOM_CONF" sed -i '/MaximumUid/d' "$SDDM_CUSTOM_CONF"
sed -i '/MinimumUid/d' "$SDDM_CUSTOM_CONF" sed -i '/MinimumUid/d' "$SDDM_CUSTOM_CONF"
sed -i '/HideShells/d' "$SDDM_CUSTOM_CONF" sed -i '/HideShells/d' "$SDDM_CUSTOM_CONF"
echo "MaximumUid=9999999999" >>"$SDDM_CUSTOM_CONF" echo "MaximumUid=99999999999999999999" >>"$SDDM_CUSTOM_CONF"
echo "MinimumUid=1000" >>"$SDDM_CUSTOM_CONF" echo "MinimumUid=1000" >>"$SDDM_CUSTOM_CONF"
echo "HideShells=/sbin/nologin,/bin/false,/usr/sbin/nologin" >>"$SDDM_CUSTOM_CONF" echo "HideShells=/sbin/nologin,/bin/false,/usr/sbin/nologin" >>"$SDDM_CUSTOM_CONF"
else else
cat <<EOF >"$SDDM_CUSTOM_CONF" cat <<EOF >"$SDDM_CUSTOM_CONF"
[Users] [Users]
MaximumUid=9999999999 MaximumUid=999999999999999999
MinimumUid=1000 MinimumUid=1000
HideShells=/sbin/nologin,/bin/false,/usr/sbin/nologin HideShells=/sbin/nologin,/bin/false,/usr/sbin/nologin
EOF EOF
@ -43,5 +48,6 @@ fi
# SSSD und SDDM neu starten # SSSD und SDDM neu starten
systemctl restart sssd systemctl restart sssd
systemctl restart sddm systemctl restart sddm
fi
echo "SDDM wurde so konfiguriert, dass lokale und bereits angemeldete Domänenbenutzer angezeigt werden." echo "✅ Konfiguration von SDDM und sssd abgeschlossen!"

View File

@ -2,32 +2,57 @@
set -e # Skript bricht bei Fehlern ab set -e # Skript bricht bei Fehlern ab
# Sicherstellen, dass das Skript **nicht** als root ausgeführt wird # Root-Rechte prüfen
if [[ $EUID -eq 0 ]]; then if [ "$(id -u)" -eq 0 ]; then
echo "Bitte **nicht** als root oder mit sudo ausführen! Das Skript fordert sudo nur dort an, wo es benötigt wird." echo "❌ Bitte nicht als root ausführen! Das Skript nutzt sudo, falls nötig."
exit 1 exit 1
fi fi
# System aktualisieren und benötigte Pakete installieren # System aktualisieren und benötigte Pakete installieren
echo "🔄 System wird aktualisiert..." echo "🔄 System wird aktualisiert..."
sudo apt update && sudo apt install -y flatpak neovim ufw rfkill xdg-user-dirs rsync clamav clamav-freshclam clamav-docs libclamunrar9 clamav-daemon bleachbit network-manager-gnome sudo apt update && sudo apt upgrade -y
echo " Firewall (ufw) wird installiert..."
sudo apt install -y ufw
sudo ufw enable sudo ufw enable
# Flatpak Flathub-Repo hinzufügen echo " Virenschutz (clamav) wird installiert..."
sudo apt install -y clamav clamav-freshclam clamav-docs libclamunrar9 clamav-daemon
echo " Installiere Flatpak..."
sudo apt install -y flatpak
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
echo " Installiere nützliche Pakete..."
sudo apt install -y neovim rfkill xdg-user-dirs rsync bleachbit network-manager-gnome
# Portmaster installieren # Portmaster installieren
read -p "❓ Soll Portmaster installiert werden? (j/n) [n]: " answer
answer=${answer,,} # In Kleinbuchstaben umwandeln
answer=${answer:-n} # Standardwert 'n', falls leer
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
wget -O /tmp/portmaster-installer.deb https://updates.safing.io/latest/linux_amd64/packages/portmaster-installer.deb wget -O /tmp/portmaster-installer.deb https://updates.safing.io/latest/linux_amd64/packages/portmaster-installer.deb
sudo apt install -y /tmp/portmaster-installer.deb sudo apt install -y /tmp/portmaster-installer.deb
rm /tmp/portmaster-installer.deb rm /tmp/portmaster-installer.deb
echo "✅ Portmaster wurde installiert!"
fi
# Waterfox-Installation # Waterfox-Installation
read -p "❓ Soll Firefox durch Waterfox ersetzt werden? (j/n) [n]: " answer
answer=${answer,,} # In Kleinbuchstaben umwandeln
answer=${answer:-n} # Standardwert 'n', falls leer
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
echo "🌍 Waterfox wird installiert..." echo "🌍 Waterfox wird installiert..."
sudo apt remove -y firefox
sudo install -d -m 0755 /etc/apt/keyrings sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://download.opensuse.org/repositories/home:hawkeye116477:waterfox/Debian_12/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_hawkeye116477_waterfox.gpg > /dev/null curl -fsSL https://download.opensuse.org/repositories/home:hawkeye116477:waterfox/Debian_12/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_hawkeye116477_waterfox.gpg > /dev/null
echo 'deb https://download.opensuse.org/repositories/home:/hawkeye116477:/waterfox/Debian_12/ /' | sudo tee /etc/apt/sources.list.d/home:hawkeye116477:waterfox.list echo 'deb https://download.opensuse.org/repositories/home:/hawkeye116477:/waterfox/Debian_12/ /' | sudo tee /etc/apt/sources.list.d/home:hawkeye116477:waterfox.list
sudo apt update && sudo apt install -y waterfox sudo apt update && sudo apt install -y waterfox
echo "✅ Waterfox wurde installiert!"
# Waterfox als Standardbrowser setzen # Waterfox als Standardbrowser setzen
echo "🌍 Setze Waterfox als Standardbrowser..." echo "🌍 Setze Waterfox als Standardbrowser..."
@ -43,8 +68,14 @@ if command -v xdg-settings >/dev/null 2>&1; then
else else
echo "❌ 'xdg-settings' ist nicht verfügbar. Bitte manuell den Standardbrowser setzen." echo "❌ 'xdg-settings' ist nicht verfügbar. Bitte manuell den Standardbrowser setzen."
fi fi
fi
# Hyprland User Bindings # Hyprland User Bindings
read -p "❓ Sollen Anpassungen an den Hyprland-Keybinds vorgenomen werden? (j/n) [n]: " answer
answer=${answer,,} # In Kleinbuchstaben umwandeln
answer=${answer:-n} # Standardwert 'n', falls leer
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
HYPR_CONFIG_DIR="$HOME/.config/hypr/UserConfigs" HYPR_CONFIG_DIR="$HOME/.config/hypr/UserConfigs"
mkdir -p "$HYPR_CONFIG_DIR" mkdir -p "$HYPR_CONFIG_DIR"
@ -64,6 +95,7 @@ for BIND in "${!KEYBINDS[@]}"; do
echo " Keybind existiert bereits: ${KEYBINDS[$BIND]}" echo " Keybind existiert bereits: ${KEYBINDS[$BIND]}"
fi fi
done done
fi
# Standardvorlagen ablegen # Standardvorlagen ablegen
echo "📂 Standardvorlagen werden im Vorlagen-Ordner erstellt..." echo "📂 Standardvorlagen werden im Vorlagen-Ordner erstellt..."
@ -95,6 +127,11 @@ TARGET_DIR="$HOME/.config/hypr/UserScripts"
CONFIG_DIR="$HOME/.config/hypr/UserConfigs" CONFIG_DIR="$HOME/.config/hypr/UserConfigs"
USER_KEYBINDS_FILE="$CONFIG_DIR/UserKeybinds.conf" # Definition an der richtigen Stelle USER_KEYBINDS_FILE="$CONFIG_DIR/UserKeybinds.conf" # Definition an der richtigen Stelle
read -p "❓ Sollen Anpassungen an den Users-Dirs in den Hyprland-Skripten vorgenommen werden? (j/n) [n]: " answer
answer=${answer,,} # In Kleinbuchstaben umwandeln
answer=${answer:-n} # Standardwert 'n', falls leer
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
# Bereinige fälschlicherweise kopierte Dateien # Bereinige fälschlicherweise kopierte Dateien
echo "📂 Überprüfe und bereinige Dateien im Verzeichnis $TARGET_DIR..." echo "📂 Überprüfe und bereinige Dateien im Verzeichnis $TARGET_DIR..."
if [[ -d "$TARGET_DIR" ]]; then if [[ -d "$TARGET_DIR" ]]; then
@ -194,5 +231,6 @@ fi
echo "📂 Verschiebe $(xdg-user-dir)/Pictures nach $(xdg-user-dir PICTURES)..." echo "📂 Verschiebe $(xdg-user-dir)/Pictures nach $(xdg-user-dir PICTURES)..."
rsync -av --ignore-existing "$(xdg-user-dir)/Pictures/" "$(xdg-user-dir PICTURES)/" rsync -av --ignore-existing "$(xdg-user-dir)/Pictures/" "$(xdg-user-dir PICTURES)/"
rm -r "$(xdg-user-dir)/Pictures/" rm -r "$(xdg-user-dir)/Pictures/"
fi
echo "✅ Skript erfolgreich ausgeführt!" echo "✅ Skript erfolgreich ausgeführt!"

View File

@ -4,7 +4,7 @@ set -e # Skript bricht bei Fehlern ab
# Sicherstellen, dass das Skript mit Root-Rechten ausgeführt wird # Sicherstellen, dass das Skript mit Root-Rechten ausgeführt wird
if [[ $EUID -ne 0 ]]; then if [[ $EUID -ne 0 ]]; then
echo "Dieses Skript muss als root ausgeführt werden." echo "Dieses Skript muss als root ausgeführt werden."
exit 1 exit 1
fi fi

View File

@ -2,7 +2,7 @@
# Sicherstellen, dass das Skript mit Root-Rechten ausgeführt wird # Sicherstellen, dass das Skript mit Root-Rechten ausgeführt wird
if [[ $EUID -ne 0 ]]; then if [[ $EUID -ne 0 ]]; then
echo "Dieses Skript muss als root ausgeführt werden." echo "Dieses Skript muss als root ausgeführt werden."
exit 1 exit 1
fi fi
@ -10,6 +10,11 @@ fi
apt update && apt upgrade -y apt update && apt upgrade -y
# Steam-Installation # Steam-Installation
read -p "❓ Soll Steam installiert werden? (j/n) [n]: " answer
answer=${answer,,} # In Kleinbuchstaben umwandeln
answer=${answer:-n} # Standardwert 'n', falls leer
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
dpkg --add-architecture i386 dpkg --add-architecture i386
apt update apt update
apt install -y wget curl apt install -y wget curl
@ -17,8 +22,14 @@ apt install -y wget curl
wget -O /tmp/steam.deb https://cdn.akamai.steamstatic.com/client/installer/steam.deb wget -O /tmp/steam.deb https://cdn.akamai.steamstatic.com/client/installer/steam.deb
apt install -y /tmp/steam.deb apt install -y /tmp/steam.deb
rm /tmp/steam.deb rm /tmp/steam.deb
fi
# Lutris-Installation # Lutris-Installation
read -p "❓ Soll Lutris installiert werden? (j/n) [n]: " answer
answer=${answer,,} # In Kleinbuchstaben umwandeln
answer=${answer:-n} # Standardwert 'n', falls leer
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
LUTRIS_KEYRING="/etc/apt/keyrings/lutris.gpg" LUTRIS_KEYRING="/etc/apt/keyrings/lutris.gpg"
LUTRIS_REPO="https://download.opensuse.org/repositories/home:/strycore/Debian_12/" LUTRIS_REPO="https://download.opensuse.org/repositories/home:/strycore/Debian_12/"
@ -31,5 +42,6 @@ echo "deb [signed-by=$LUTRIS_KEYRING] $LUTRIS_REPO ./" >/etc/apt/sources.list.d/
apt update apt update
apt install -y lutris apt install -y lutris
fi
echo "✅ Installation von Steam und Lutris abgeschlossen!" echo "✅ Skript abgeschlossen!"