43 Commits

Author SHA1 Message Date
f3f58fb20c Fix: Entfernt Paket. 2025-03-26 16:49:45 +01:00
d82f4ba1d2 Fix: Ersetzt apt durch pacman. 2025-03-26 16:46:01 +01:00
d48448d344 Fix: Verbessert setzen der options. 2025-03-26 16:34:39 +01:00
d50a2ae636 Fix: Passt Konfigurationsdatei suchen an. 2025-03-26 16:28:40 +01:00
1bed0aea74 Fix: FÜhrt yay als Nutzer aus. 2025-03-26 16:21:46 +01:00
d37ff58150 Feat: Entfernt Abfrage, ob Plymouth bereits installiert ist. 2025-03-26 16:19:39 +01:00
adac814af2 Fix: Fügt noconfirm hinzu 2025-03-26 16:18:52 +01:00
197eb742ab Feat: Passt Themenamen an. 2025-03-26 16:17:14 +01:00
34aad09589 Fix: Führt yay nicht als root aus. 2025-03-26 14:51:57 +01:00
1da072d3f1 Fix: Entfernt Firefox nur, wenn nicht vorhanden. 2025-03-26 14:50:55 +01:00
a12e9586a3 Fix: Fügt --noconfirm hinzu. 2025-03-26 14:48:16 +01:00
f5691141cf Fix: Passt Portmaster-Install für Arch an. 2025-03-26 14:47:12 +01:00
a23e56dc17 Feat: Update vor hyprland-Install. 2025-03-26 13:37:44 +01:00
d07745555d Fix: Yay ohne sudo. 2025-03-26 13:34:02 +01:00
71a8e26b5e Fix: yay ohne sudo. 2025-03-26 13:33:22 +01:00
f45a1c573b Fix: Passt aktivieren von multilib an. 2025-03-26 13:29:21 +01:00
cc73cc0009 Fix: Fügt Code dir hinzu. 2025-03-26 13:09:47 +01:00
a681db6e29 Fix: Übergebt User richtig. 2025-03-26 13:06:56 +01:00
24f0133c8c Pass README für Arch an. 2025-03-26 13:05:17 +01:00
0a985a7885 Passt README für Arch an. 2025-03-26 13:05:00 +01:00
af2426aad0 Feat: Passt das Skript für Arch an. 2025-03-26 13:03:28 +01:00
2ef89e705f Feat: Passt das Skript für Arch an. 2025-03-26 12:55:10 +01:00
6a00d99cf1 Feat: Fügt das multilib-Repository hinzu. 2025-03-26 12:54:46 +01:00
25c97c6b14 Unter Arch nicht nötig. 2025-03-26 12:46:30 +01:00
869fac02d8 Feat: Passt das Skript für Arch an. 2025-03-26 12:46:22 +01:00
dfe04920a9 Feat: Passt Skript für Arch an. 2025-03-26 12:42:05 +01:00
21ec71fcb9 Feat: Passt Skript für Arch an. 2025-03-26 12:41:27 +01:00
b9279dd49d Feat: Installiert Pakete über yay. 2025-03-26 12:41:10 +01:00
a8bf67f3b3 Feat: Konfiguriert systemd-boot. 2025-03-26 12:40:59 +01:00
9bce359357 Feat: Führt Teile des Skripts nicht als root aus. 2025-03-26 12:12:03 +01:00
1a0a22569f Feat: Geht zurück ins aktuelle Verzeichnis. 2025-03-26 12:11:07 +01:00
21ac1d7c92 Feat: Fügt Yay-Installation hinzu. 2025-03-26 12:10:13 +01:00
c2e808091c Feat: Passt das Skript für Arch an. 2025-03-26 11:59:32 +01:00
73f2608345 Feat: Erstellt Backups der Config-Dateien. 2025-03-26 11:59:15 +01:00
24c40da400 Feat: Passt das Skript für Arch an. 2025-03-26 11:57:02 +01:00
a986c0b2d6 Feat: Passt das Skript für Arch an. 2025-03-26 11:54:26 +01:00
34794cd17e Feat: Fügt Fehlerbehandlung ein. 2025-03-26 11:52:17 +01:00
0f128ba569 Feat: Fügt Fehlerbehandlung ein. 2025-03-26 11:52:02 +01:00
2b76159f7d Feat: Passt das Skript für Arch an. 2025-03-26 11:46:59 +01:00
861eb87522 Feat: Passt das Skript für Arch an. 2025-03-26 11:46:02 +01:00
938ac3061f Feat: Passt das Skript für Arch an. 2025-03-26 11:45:22 +01:00
a7365bb5d8 Unter Arch nicht nötig. 2025-03-26 10:50:25 +01:00
7192d8687f Feat: Passt Skript für Arch an. 2025-03-26 10:50:10 +01:00
15 changed files with 416 additions and 288 deletions

View File

@@ -6,13 +6,141 @@ if [ "$(id -u)" -ne 0 ]; then
exit 1 exit 1
fi fi
apt update && apt upgrade -y # System aktualisieren und benötigte Pakete installieren
apt install -y git sudo 7zip unrar unzip network-manager software-properties-common tree bluetooth wget curl pacman -Syu --noconfirm git sudo p7zip unrar unzip networkmanager tree bluez bluez-utils wget curl less ineturils
# sbin in Path # Aktivieren und Starten von NetworkManager und Bluetooth-Diensten
systemctl enable --now NetworkManager
systemctl enable --now bluetooth
# yay Installation
read -p "❓ Soll der Paketmanager Yay für AUR-Pakete installiert werden? (j/n) [n]: " answer
answer=${answer,,}
answer=${answer:-n}
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
# 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
CURRENT_DIR=$(pwd)
USER_NAME="$SUDO_USER"
AUR_CODE_DIR="/var/lib/user_aur_code"
# Sicherstellen, dass benötigte Pakete installiert sind
pacman -Syu --noconfirm glib2 git base-devel --needed
# AUR-Verzeichnis erstellen
mkdir -p $AUR_CODE_DIR
sudo chmod -R 777 $AUR_CODE_DIR
# Installiere yay
cd $AUR_CODE_DIR
sudo -u $USER_NAME git clone https://aur.archlinux.org/yay.git
cd yay
sudo -u $USER_NAME makepkg -sic --noconfirm || { echo "❌ Fehler beim Erstellen von Yay"; exit 1; }
sudo -u $USER_NAME git clean -dfx
cd $CURRENT_DIR
fi
# multilib Repo
read -p "❓ Soll das multilib-Repository aktiviert werden? (j/n) [n]: " answer
answer=${answer,,}
answer=${answer:-n}
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
# Multilib-Repository aktivieren
echo "🔄 Aktiviere Multilib-Repository..."
# Zeilen einkommentieren, falls sie auskommentiert sind
if grep -q "^\[multilib\]" /etc/pacman.conf && grep -q "#Include = /etc/pacman.d/mirrorlist" /etc/pacman.conf; then
sudo sed -i 's/#\[multilib\]/\[multilib\]/g' /etc/pacman.conf
sudo sed -i 's/#Include = \/etc\/pacman.d\/mirrorlist/Include = \/etc\/pacman.d\/mirrorlist/g' /etc/pacman.conf
fi
# Falls der Block nicht vorhanden ist, füge ihn hinzu
if ! grep -q "^\[multilib\]" /etc/pacman.conf; then
echo "[multilib]" | sudo tee -a /etc/pacman.conf
echo "Include = /etc/pacman.d/mirrorlist" | sudo tee -a /etc/pacman.conf
fi
# Paketdatenbank aktualisieren
echo "🔄 Aktualisiere die Paketdatenbank..."
pacman -Sy --noconfirm
fi
# systemd-boot Config
read -p "❓ Soll systemd-boot so angepasst werden, dass es nur im Fehlerfall angezeigt wird? (j/n) [n]: " answer
answer=${answer,,}
answer=${answer:-n}
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
LOADER_CONF="/boot/loader/loader.conf"
# Überprüfen, ob die Datei exists
if [[ ! -f "$LOADER_CONF" ]]; then
echo "❌ Datei $LOADER_CONF nicht gefunden!"
exit 1
fi
# Überprüfen, ob die "timeout"-Option bereits auf 0 gesetzt ist
if grep -q "^timeout 0" "$LOADER_CONF"; then
echo " 'timeout 0' ist bereits gesetzt."
else
# Timeout auf 0 setzen
echo "🔄 Setze 'timeout 0' in der loader.conf..."
# Falls bereits eine timeout-Zeile existiert, diese ersetzen
sed -i 's/^timeout .*/timeout 0/' "$LOADER_CONF"
# Falls keine timeout-Zeile existiert, diese hinzufügen
if ! grep -q "^timeout" "$LOADER_CONF"; then
echo "timeout 0" >>"$LOADER_CONF"
fi
echo "✅ 'timeout 0' wurde erfolgreich gesetzt."
fi
fi
# Gruppe "sudo" und Sudoers-Regel hinzufügen
read -p "❓ Soll die Gruppe 'sudo' erstellt und ihr Sudo-Zugriff gewährt werden? (j/n) [n]: " answer
answer=${answer,,}
answer=${answer:-n}
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
# Gruppe "sudo" erstellen, falls sie nicht existiert
if ! grep -q "^sudo:" /etc/group; then
groupadd sudo
echo " Gruppe 'sudo' wurde erstellt."
else
echo " Gruppe 'sudo' existiert bereits."
fi
# Sudoers-Regel für die Gruppe "sudo" erstellen
SUDOERS_FILE="/etc/sudoers.d/00-sudo-group"
if [ ! -f "$SUDOERS_FILE" ]; then
echo "%sudo ALL=(ALL:ALL) ALL" >"$SUDOERS_FILE"
chmod 440 "$SUDOERS_FILE"
echo " Sudo-Regel für die Gruppe 'sudo' wurde erstellt."
else
echo " Sudo-Regel für die Gruppe 'sudo' existiert bereits."
fi
# Abfrage, ob ein Benutzer der Gruppe hinzugefügt werden soll
read -p "❓ Welcher Benutzer soll zur Gruppe 'sudo' hinzugefügt werden? (Leer lassen für keinen): " username
if [[ -n "$username" ]]; then
if id "$username" &>/dev/null; then
usermod -aG sudo "$username"
echo " Benutzer '$username' wurde zur Gruppe 'sudo' hinzugefügt."
else
echo "❌ Benutzer '$username' existiert nicht!"
fi
fi
fi
# sbin in PATH aufnehmen
read -p "❓ Soll sbin für sudo-Nutzer in den PATH aufgenommen werden? (j/n) [n]: " answer read -p "❓ Soll sbin für sudo-Nutzer in den PATH aufgenommen werden? (j/n) [n]: " answer
answer=${answer,,} # In Kleinbuchstaben umwandeln answer=${answer,,}
answer=${answer:-n} # Standardwert 'n', falls leer answer=${answer:-n}
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
cat << 'EOF' >/etc/profile.d/sbin_in_path.sh cat << 'EOF' >/etc/profile.d/sbin_in_path.sh
@@ -33,13 +161,13 @@ fi
# sudo-Hinweis # sudo-Hinweis
read -p "❓ Soll ein sudo-Hinweis hinzugefügt werden? (j/n) [n]: " answer read -p "❓ Soll ein sudo-Hinweis hinzugefügt werden? (j/n) [n]: " answer
answer=${answer,,} # In Kleinbuchstaben umwandeln answer=${answer,,}
answer=${answer:-n} # Standardwert 'n', falls leer answer=${answer:-n}
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
cat << 'EOF' >/etc/profile.d/sudo_hint.sh 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 *\ sudo\ *)
if [ -x /usr/bin/sudo ]; then if [ -x /usr/bin/sudo ]; then
echo 'To run a command as administrator (user "root"), use "sudo <command>".' echo 'To run a command as administrator (user "root"), use "sudo <command>".'
echo 'See "man sudo_root" for details.' echo 'See "man sudo_root" for details.'
@@ -51,10 +179,10 @@ EOF
echo " sudo-Hinweis wurde hinzugefügt!" echo " sudo-Hinweis wurde hinzugefügt!"
fi fi
# sudo-Hinweis # XDG-Data-Dirs setzen
read -p "❓ Sollen die XDG-Data-Dirs gesetzt werden? (j/n) [n]: " answer read -p "❓ Sollen die XDG-Data-Dirs gesetzt werden? (j/n) [n]: " answer
answer=${answer,,} # In Kleinbuchstaben umwandeln answer=${answer,,}
answer=${answer:-n} # Standardwert 'n', falls leer answer=${answer:-n}
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
cat << 'EOF' >/etc/profile.d/xdg_dirs_desktop_session.sh cat << 'EOF' >/etc/profile.d/xdg_dirs_desktop_session.sh

75
1_AdJoin.sh Executable file
View File

@@ -0,0 +1,75 @@
#!/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
yay -Syu
# Installiere adcli mit yay
yay -S --noconfirm adcli || { echo "❌ Fehler beim Installieren von adcli"; exit 1; }
# Installiere realmd mit yay
yay -S --noconfirm realmd || { echo "❌ Fehler beim Installieren von realmd"; exit 1; }
# Samba-Verzeichnis erstellen
sudo mkdir -p /var/lib/samba/private/
# Installiere notwendige Pakete
sudo pacman -Syu --noconfirm sssd curl ntp polkit
echo "❓ Daten für Domainjoin:"
read -p "Domänenname: " DOMAIN
read -p "Adminuser: " ADMIN
# NetBIOS und COMS extrahieren
NetBios=$(echo "$DOMAIN" | cut -d '.' -f1)
coms=$(echo "$DOMAIN" | cut -d '.' -f2)
# Realm joinen
sudo realm join --verbose --user="$ADMIN" "$DOMAIN" --install=/ || { echo "❌ Fehler beim Domainjoin"; exit 1; }
# SSSD aktivieren und starten
sudo systemctl enable sssd
sudo systemctl start sssd
# PAM-Konfiguration überprüfen und anpassen
homedir=$(grep homedir /etc/pam.d/common-session | grep 0077 | cut -d '=' -f3 | head -1)
if [ "$homedir" = "0077" ]; then
echo " pam_mkhomedir.so konfiguriert"
sleep 1
else
echo "session required pam_mkhomedir.so skel=/etc/skel/ umask=0077" | sudo tee -a /etc/pam.d/common-session
fi
# SSSD-Konfigurationsdatei anpassen
sudo sed -i -e 's/fallback_homedir = \/home\/%u@%d/#fallback_homedir = \/home\/%u@%d/g' /etc/sssd/sssd.conf
sudo sed -i -e 's/use_fully_qualified_names = True/use_fully_qualified_names = False/g' /etc/sssd/sssd.conf
sudo sed -i -e 's/access_provider = ad/access_provider = simple/g' /etc/sssd/sssd.conf
sudo sed -i -e 's/sudoers: files sss/sudoers: files/g' /etc/nsswitch.conf
echo "override_homedir = /home/%u" | sudo tee -a /etc/sssd/sssd.conf
sudo grep -i override /etc/sssd/sssd.conf
# Weitere Anpassungen an der SSSD-Konfiguration
sudo sed -i '/krb5_realm =/a entry_cache_group_timeout = 5400' /etc/sssd/sssd.conf
sudo sed -i '/krb5_realm =/a entry_cache_user_timeout = 5400' /etc/sssd/sssd.conf
# Zusätzliche SSSD-Alternativen
sudo echo "#entry_cache_user_timeout = 5400
#entry_cache_group_timeout = 5400
#cache_credentials = TRUE
### Added to help with group mapping
###ldap_use_tokengroups = False
#ldap_schema = rfc2307bis
#ldap_schema = rfc2307
#ldap_schema = IPA
#ldap_schema = AD
#ldap_search_base = DC=$NetBios,DC=$coms
#ldap_group_member = uniquemember
#ad_enable_gc = False
entry_cache_timeout = 600
entry_cache_nowait_percentage = 75 " | sudo tee -a /etc/sssd/sssd.alternatives
echo "✅ Der Computer muss jetzt neugestartet werden. Vor dem Anmelden etwa 3 Minuten warten!"

View File

@@ -1,40 +0,0 @@
#!/bin/bash
# Root-Rechte prüfen
if [ "$(id -u)" -ne 0 ]; then
echo "❌ Bitte als root ausführen!"
exit 1
fi
# Sicherheitsabfrage
read -p "⚠️ Achtung! Du führst ein Release-Upgrade auf Debian Trixie durch. Fortfahren? (ja/nein): " answer
answer=${answer,,} # In Kleinbuchstaben umwandeln
answer=${answer:-n} # Standardwert 'n', falls leer
if [[ "$answer" != "j" ]] || [[ "$answer" != "y" ]]; then
echo "❌ Upgrade abgebrochen."
exit 0
fi
echo " Aktualisiere Paketlisten..."
sudo apt-get update
echo " Starte System-Upgrade..."
sudo apt-get full-upgrade -y
echo " Ändere die Paketquellen auf Debian Trixie..."
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' {} \;
echo " Aktualisiere Paketlisten erneut..."
sudo apt-get update
echo " Starte vollständiges Release-Upgrade..."
sudo apt-get full-upgrade -y
read -p "❓ Drücke [ENTER], um das System jetzt neuzustarten."
echo " System wird jetzt neu gestartet..."
sudo reboot

View File

@@ -1,31 +0,0 @@
#!/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
# Verzeichnis setzen
REPO_DIR="/tmp/Linux-Active-Directory-join-script"
# Repository klonen, falls es noch nicht existiert
if [ -d "$REPO_DIR" ]; then
echo " Repository existiert bereits. Überspringe das Klonen."
else
echo " Klonen des Repositories..."
git clone https://gitea.creative-dragonslayer.de/DragonSlayer_14/Linux-Active-Directory-join-script.git "$REPO_DIR"
fi
# In das Verzeichnis wechseln
cd "$REPO_DIR" || { echo "❌ Fehler: Konnte nicht in das Verzeichnis wechseln!"; exit 1; }
# AD-Skript ausführen
if [ -f "ADconnection.sh" ]; then
chmod +x ADconnection.sh
echo " Starte Active Directory setup..."
./ADconnection.sh
else
echo "❌ Fehler: ADconnection.sh nicht gefunden!"
exit 1
fi

22
2_HyprlandInstall.sh Executable file
View File

@@ -0,0 +1,22 @@
#!/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
sudo pacman -Syu
yay -Syu
# Temporären Ordner erstellen
TEMP_DIR=$(mktemp -d)
# Skript in den temporären Ordner herunterladen
curl -L https://raw.githubusercontent.com/JaKooLit/Arch-Hyprland/main/auto-install.sh -o "$TEMP_DIR/auto-install.sh"
# Das heruntergeladene Skript mit sh ausführen
sh "$TEMP_DIR/auto-install.sh"
# Temporären Ordner löschen
rm -rf "$TEMP_DIR"

View File

@@ -1,31 +0,0 @@
#!/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
REPO_DIR="/tmp/Debian-Hyprland"
# Falls das Repository bereits existiert, überspringen
if [ -d "$REPO_DIR" ]; then
echo " Repository existiert bereits. Überspringe das klonen..."
else
echo " Klonen des Repositories..."
git clone --depth=1 https://github.com/JaKooLit/Debian-Hyprland.git "$REPO_DIR" || { echo "Fehler beim Klonen!"; exit 1; }
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
if [ -f "install.sh" ]; then
chmod +x install.sh
echo " Starte Installation..."
./install.sh
else
echo "❌ Fehler: install.sh nicht gefunden!"
exit 1
fi

View File

@@ -15,11 +15,17 @@ 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 read -p "❓ Soll die Shell für $USER_NAME auf ZSH gesetzt werden? (j/n) [n]: " answer
answer=${answer,,} # In Kleinbuchstaben umwandeln answer=${answer,,} # In Kleinbuchstaben umwandeln
answer=${answer:-n} # Standardwert 'n', falls leer answer=${answer:-n} # Standardwert 'n', falls leer
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then 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 # Eintrag aus getent passwd holen
USER_ENTRY=$(getent passwd "$USER_NAME") USER_ENTRY=$(getent passwd "$USER_NAME")
@@ -39,7 +45,7 @@ if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
# Repository klonen # Repository klonen
REPO_DIR="$USER_HOME/Debian-Hyprland" REPO_DIR="$USER_HOME/Debian-Hyprland"
sudo -u "$USER_NAME" git clone https://github.com/JaKooLit/Debian-Hyprland.git "$REPO_DIR" sudo -u "$USER_NAME" git clone https://github.com/JaKooLit/Arch-Hyprland.git "$REPO_DIR"
# Ordner nach ~/.oh-my-zsh/themes kopieren # Ordner nach ~/.oh-my-zsh/themes kopieren
THEME_SRC="$REPO_DIR/assets/add_zsh_theme" THEME_SRC="$REPO_DIR/assets/add_zsh_theme"

View File

@@ -16,6 +16,14 @@ if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
SDDM_CUSTOM_CONF="$SDDM_CONF_DIR/ad_login.conf" SDDM_CUSTOM_CONF="$SDDM_CONF_DIR/ad_login.conf"
mkdir -p "$SDDM_CONF_DIR" mkdir -p "$SDDM_CONF_DIR"
# SDDM-Konfigurationsdatei sichern
if [[ -f "$SDDM_CUSTOM_CONF" ]]; then
cp "$SDDM_CUSTOM_CONF" "$SDDM_CUSTOM_CONF.bak"
echo " SDDM-Konfigurationsdatei gesichert als $SDDM_CUSTOM_CONF.bak"
else
echo "⚠️ SDDM-Konfigurationsdatei nicht gefunden, keine Sicherung vorgenommen."
fi
# Bestehende Konfiguration sichern und anpassen # Bestehende Konfiguration sichern und anpassen
if [[ -f "$SDDM_CUSTOM_CONF" ]]; then if [[ -f "$SDDM_CUSTOM_CONF" ]]; then
sed -i '/MaximumUid/d' "$SDDM_CUSTOM_CONF" sed -i '/MaximumUid/d' "$SDDM_CUSTOM_CONF"
@@ -35,6 +43,15 @@ EOF
# SSSD-Konfiguration anpassen, falls die Datei existiert # SSSD-Konfiguration anpassen, falls die Datei existiert
SSSD_CONF="/etc/sssd/sssd.conf" SSSD_CONF="/etc/sssd/sssd.conf"
# SSSD-Konfigurationsdatei sichern
if [[ -f "$SSSD_CONF" ]]; then
cp "$SSSD_CONF" "$SSSD_CONF.bak"
echo " SSSD-Konfigurationsdatei gesichert als $SSSD_CONF.bak"
else
echo "⚠️ SSSD-Konfigurationsdatei nicht gefunden, keine Sicherung vorgenommen."
fi
if [[ -f "$SSSD_CONF" ]]; then if [[ -f "$SSSD_CONF" ]]; then
if grep -q "^enumerate" "$SSSD_CONF"; then if grep -q "^enumerate" "$SSSD_CONF"; then
sed -i 's/^enumerate.*/enumerate = false/' "$SSSD_CONF" sed -i 's/^enumerate.*/enumerate = false/' "$SSSD_CONF"

View File

@@ -10,21 +10,23 @@ 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 upgrade -y sudo pacman -Syu --noconfirm
yay -Syu --noconfirm
echo " Firewall (ufw) wird installiert..." echo " Firewall (ufw) wird installiert..."
sudo apt install -y ufw sudo pacman -S --noconfirm ufw
sudo ufw enable sudo ufw enable
echo " Virenschutz (clamav) wird installiert..." echo " Virenschutz (clamav) wird installiert..."
sudo apt install -y clamav clamav-freshclam clamav-docs libclamunrar9 clamav-daemon sudo pacman -S --noconfirm clamav
sudo systemctl enable --now clamav-freshclam
echo " Installiere Flatpak..." echo " Installiere Flatpak..."
sudo apt install -y flatpak sudo pacman -S --noconfirm 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..." echo " Installiere nützliche Pakete..."
sudo apt install -y neovim rfkill xdg-user-dirs rsync bleachbit network-manager-gnome sudo pacman -S --noconfirm neovim rfkill xdg-user-dirs rsync bleachbit networkmanager
# Portmaster installieren # Portmaster installieren
read -p "❓ Soll Portmaster installiert werden? (j/n) [n]: " answer read -p "❓ Soll Portmaster installiert werden? (j/n) [n]: " answer
@@ -32,9 +34,7 @@ answer=${answer,,} # In Kleinbuchstaben umwandeln
answer=${answer:-n} # Standardwert 'n', falls leer answer=${answer:-n} # Standardwert 'n', falls leer
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
wget -O /tmp/portmaster-installer.deb https://updates.safing.io/latest/linux_amd64/packages/portmaster-installer.deb yay -S portmaster-stub-bin --noconfirm
sudo apt install -y /tmp/portmaster-installer.deb
rm /tmp/portmaster-installer.deb
echo "✅ Portmaster wurde installiert!" echo "✅ Portmaster wurde installiert!"
fi fi
@@ -45,13 +45,13 @@ answer=${answer,,} # In Kleinbuchstaben umwandeln
answer=${answer:-n} # Standardwert 'n', falls leer answer=${answer:-n} # Standardwert 'n', falls leer
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
echo "🌍 Waterfox wird installiert..." if pacman -Q firefox &>/dev/null; then
sudo apt remove -y firefox sudo pacman -Rns --noconfirm firefox
sudo install -d -m 0755 /etc/apt/keyrings fi
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 "🌍 Waterfox wird installiert..."
yay -S --noconfirm waterfox
sudo apt update && sudo apt install -y waterfox
echo "✅ Waterfox wurde installiert!" echo "✅ Waterfox wurde installiert!"
# Waterfox als Standardbrowser setzen # Waterfox als Standardbrowser setzen

77
6_Plymouth.sh Executable file
View File

@@ -0,0 +1,77 @@
#!/bin/bash
set -e # Skript bricht bei Fehlern ab
# Sicherstellen, dass das Skript mit Root-Rechten ausgeführt wird
if [[ $EUID -ne 0 ]]; then
echo "❌ Dieses Skript muss als root ausgeführt werden."
exit 1
fi
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"
echo "🔄 Plymouth und benötigte Pakete installieren..."
pacman -Syu --noconfirm plymouth
sudo -u $USER_NAME yay -Syu plymouth-theme-archlinux --noconfirm
# Plymouth in initramfs aktivieren
MKINIT_CONF="/etc/mkinitcpio.conf"
if [[ -f "$MKINIT_CONF" ]]; then
if grep -q "^HOOKS=" "$MKINIT_CONF"; then
sed -i 's/^HOOKS=.*/HOOKS=(base udev plymouth autodetect modconf block encrypt lvm2 filesystems keyboard fsck)/' "$MKINIT_CONF"
else
echo 'HOOKS=(base udev plymouth autodetect modconf block encrypt lvm2 filesystems keyboard fsck)' >>"$MKINIT_CONF"
fi
fi
# Initramfs neu erstellen
echo "🔄 Initramfs wird aktualisiert..."
mkinitcpio -P
# Arch Plymouth-Theme setzen
echo "🎨 Setze Plymouth-Theme auf 'arch'..."
plymouth-set-default-theme -R archlinux
# Korrekte systemd-boot Konfigurationsdatei suchen
BOOT_ENTRY_DIR="/boot/loader/entries"
BOOT_ENTRY_FILE=$(find "$BOOT_ENTRY_DIR" -name "*.conf" | head -n 1)
if [[ -z "$BOOT_ENTRY_FILE" ]]; then
echo "❌ Keine systemd-boot Eintragsdatei gefunden!"
exit 1
fi
echo "🔍 Gefundene Konfigurationsdatei: $BOOT_ENTRY_FILE"
# Backup erstellen
BACKUP_FILE="${BOOT_ENTRY_FILE}.backup_$(date +%Y%m%d%H%M%S)"
cp "$BOOT_ENTRY_FILE" "$BACKUP_FILE"
echo "🛑 Backup gespeichert unter: $BACKUP_FILE"
NEW_PARAMS="quiet splash vt.global_cursor_default=0 loglevel=3 rd.luks.options=discard plymouth.ignore-serial-consoles"
# Prüfen, ob bereits eine "options"-Zeile existiert
if grep -q "^options " "$BOOT_ENTRY_FILE"; then
# Vorhandene Optionen extrahieren
EXISTING_PARAMS=$(grep "^options " "$BOOT_ENTRY_FILE" | cut -d' ' -f2-)
# Fehlende Parameter hinzufügen
for param in $NEW_PARAMS; do
if ! grep -qw "$param" <<< "$EXISTING_PARAMS"; then
EXISTING_PARAMS+=" $param"
fi
done
# Datei mit neuen Optionen aktualisieren
sed -i "s|^options .*|options $EXISTING_PARAMS|" "$BOOT_ENTRY_FILE"
else
# Falls keine options-Zeile existiert, einfach neue hinzufügen
echo "options $NEW_PARAMS" >> "$BOOT_ENTRY_FILE"
fi
echo "✅ Einrichtung abgeschlossen. Bitte starte das System neu, um die Änderungen zu übernehmen."

View File

@@ -7,7 +7,8 @@ if [[ $EUID -ne 0 ]]; then
fi fi
# System aktualisieren # System aktualisieren
apt update && apt upgrade -y echo "🔄 System wird aktualisiert..."
pacman -Syu --noconfirm || { echo "❌ Fehler beim Aktualisieren des Systems."; exit 1; }
# Steam-Installation # Steam-Installation
read -p "❓ Soll Steam installiert werden? (j/n) [n]: " answer read -p "❓ Soll Steam installiert werden? (j/n) [n]: " answer
@@ -15,13 +16,11 @@ answer=${answer,,} # In Kleinbuchstaben umwandeln
answer=${answer:-n} # Standardwert 'n', falls leer answer=${answer:-n} # Standardwert 'n', falls leer
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
dpkg --add-architecture i386 echo "🔄 Steam wird installiert..."
apt update
apt install -y wget curl
wget -O /tmp/steam.deb https://cdn.akamai.steamstatic.com/client/installer/steam.deb # Steam aus dem offiziellen Repository installieren
apt install -y /tmp/steam.deb pacman -S --noconfirm steam || { echo "❌ Fehler beim Installieren von Steam."; exit 1; }
rm /tmp/steam.deb echo "✅ Steam wurde erfolgreich installiert."
fi fi
# Lutris-Installation # Lutris-Installation
@@ -30,18 +29,11 @@ answer=${answer,,} # In Kleinbuchstaben umwandeln
answer=${answer:-n} # Standardwert 'n', falls leer answer=${answer:-n} # Standardwert 'n', falls leer
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
LUTRIS_KEYRING="/etc/apt/keyrings/lutris.gpg" echo "🔄 Lutris wird installiert..."
LUTRIS_REPO="https://download.opensuse.org/repositories/home:/strycore/Debian_12/"
mkdir -p /etc/apt/keyrings # Lutris aus dem offiziellen Repository installieren
wget -qO /tmp/lutris-key.gpg "${LUTRIS_REPO}Release.key" pacman -S --noconfirm lutris || { echo "❌ Fehler beim Installieren von Lutris."; exit 1; }
gpg --dearmor </tmp/lutris-key.gpg >"$LUTRIS_KEYRING" echo "✅ Lutris wurde erfolgreich installiert."
rm /tmp/lutris-key.gpg
echo "deb [signed-by=$LUTRIS_KEYRING] $LUTRIS_REPO ./" >/etc/apt/sources.list.d/lutris.list
apt update
apt install -y lutris
fi fi
echo "✅ Skript abgeschlossen!" echo "✅ Skript abgeschlossen!"

View File

@@ -1,36 +0,0 @@
#!/bin/bash
set -e # Skript bricht bei Fehlern ab
# Theme-Name
THEME_NAME="vimix"
# Prüfen, ob GRUB bereits das Theme verwendet
if grep -q "GRUB_THEME=" /etc/default/grub && grep -q "$THEME_NAME" /etc/default/grub; then
echo "✅ Das Theme '$THEME_NAME' ist bereits installiert und aktiv."
exit 0
fi
echo "🔄 Installiere das GRUB-Theme '$THEME_NAME'..."
# Falls der Ordner existiert, vorher löschen
THEME_DIR="$HOME/grub-themes"
if [[ -d "$THEME_DIR" ]]; then
rm -rf "$THEME_DIR"
fi
# Repository klonen
git clone https://github.com/vinceliuice/grub2-themes.git "$THEME_DIR"
cd "$THEME_DIR"
# Theme installieren
sudo ./install.sh -b -t "$THEME_NAME"
# GRUB-Konfiguration aktualisieren
echo "🔄 Aktualisiere die GRUB-Konfiguration..."
sudo update-grub
# Aufräumen
rm -rf "$THEME_DIR"
echo "✅ GRUB-Theme '$THEME_NAME' erfolgreich installiert und aktiviert!"

View File

@@ -1,59 +0,0 @@
#!/bin/bash
set -e # Skript bricht bei Fehlern ab
# Sicherstellen, dass das Skript mit Root-Rechten ausgeführt wird
if [[ $EUID -ne 0 ]]; then
echo "❌ Dieses Skript muss als root ausgeführt werden."
exit 1
fi
echo "🔄 Plymouth und benötigte Pakete installieren..."
if ! dpkg -l | grep -qw plymouth; then
apt update && apt install -y plymouth plymouth-themes
else
echo "✅ Plymouth ist bereits installiert."
fi
# Plymouth in initramfs aktivieren
MKINIT_CONF="/etc/mkinitcpio.conf"
if [[ -f "$MKINIT_CONF" ]]; then
if grep -q "^HOOKS=" "$MKINIT_CONF"; then
sed -i 's/^HOOKS=.*/HOOKS=(base udev plymouth autodetect modconf block encrypt lvm2 filesystems keyboard fsck)/' "$MKINIT_CONF"
else
echo 'HOOKS=(base udev plymouth autodetect modconf block encrypt lvm2 filesystems keyboard fsck)' >>"$MKINIT_CONF"
fi
fi
# Falls Dracut genutzt wird, initramfs neu erstellen
if command -v dracut &>/dev/null; then
echo "🔄 Dracut erkannt, erstelle neues initramfs..."
dracut -f
else
echo "🔄 Initramfs wird aktualisiert..."
update-initramfs -u
fi
# Plymouth-Theme setzen
PLYMOUTH_THEME="spinner"
echo "🎨 Setze Plymouth-Theme auf '$PLYMOUTH_THEME'..."
plymouth-set-default-theme -R "$PLYMOUTH_THEME"
# Kernel-Boot-Parameter in GRUB anpassen
GRUB_CFG="/etc/default/grub"
GRUB_BACKUP="/etc/default/grub.bak"
echo "🔍 Überprüfe GRUB-Einstellungen..."
NEW_CMDLINE="quiet splash vt.global_cursor_default=0 loglevel=3 rd.luks.options=discard plymouth.ignore-serial-consoles"
if grep -q "^GRUB_CMDLINE_LINUX_DEFAULT=.*" "$GRUB_CFG"; then
sed -i "s|^GRUB_CMDLINE_LINUX_DEFAULT=.*|GRUB_CMDLINE_LINUX_DEFAULT=\"$NEW_CMDLINE\"|" "$GRUB_CFG"
echo "🔄 GRUB wird aktualisiert..."
update-grub
else
echo "GRUB_CMDLINE_LINUX_DEFAULT=\"$NEW_CMDLINE\"" >>"$GRUB_CFG"
echo "🔄 GRUB wird aktualisiert..."
update-grub
fi
echo "✅ Einrichtung abgeschlossen. Bitte starte das System neu, um die Änderungen zu übernehmen."

View File

@@ -22,8 +22,8 @@ declare -A FLATPAK_APPS=(
) )
for APP in "${!FLATPAK_APPS[@]}"; do for APP in "${!FLATPAK_APPS[@]}"; do
if dpkg -l | grep -iq "${FLATPAK_APPS[$APP]}"; then if pacman -Qs "${FLATPAK_APPS[$APP]}" &>/dev/null; then
echo "${FLATPAK_APPS[$APP]} ist bereits als DEB-Paket installiert." echo "${FLATPAK_APPS[$APP]} ist bereits als Paket installiert."
elif flatpak list | grep -q "$APP"; then elif flatpak list | grep -q "$APP"; then
echo "${FLATPAK_APPS[$APP]} ist bereits als Flatpak installiert." echo "${FLATPAK_APPS[$APP]} ist bereits als Flatpak installiert."
else else
@@ -42,7 +42,7 @@ if flatpak list | grep -q "org.libreoffice.LibreOffice"; then
elif command -v libreoffice &>/dev/null; then elif command -v libreoffice &>/dev/null; then
LO_CMD="libreoffice" LO_CMD="libreoffice"
else else
echo "❌ Fehler: LibreOffice ist weder als Flatpak noch als DEB-Paket installiert." echo "❌ Fehler: LibreOffice ist weder als Flatpak noch als Paket installiert."
exit 1 exit 1
fi fi
@@ -63,27 +63,13 @@ fi
# Spotify-Installation # Spotify-Installation
echo "🎵 Überprüfe Spotify-Installation..." echo "🎵 Überprüfe Spotify-Installation..."
SPOTIFY_KEY="/etc/apt/trusted.gpg.d/spotify.gpg"
SPOTIFY_REPO="/etc/apt/sources.list.d/spotify.list"
if dpkg -l | grep -q "spotify-client"; then if pacman -Qs spotify &>/dev/null; then
echo "✅ Spotify ist bereits installiert." echo "✅ Spotify ist bereits installiert."
else else
echo "🔄 Installiere Spotify..." echo "🔄 Installiere Spotify..."
if [[ ! -f "$SPOTIFY_KEY" ]]; then sudo pacman -S --noconfirm spotify
curl -sS https://download.spotify.com/debian/pubkey_C85668DF69375001.gpg | sudo gpg --dearmor -o "$SPOTIFY_KEY"
else
echo "✅ Spotify GPG-Key ist bereits vorhanden."
fi
if [[ ! -f "$SPOTIFY_REPO" ]]; then
echo "deb http://repository.spotify.com stable non-free" | sudo tee "$SPOTIFY_REPO"
else
echo "✅ Spotify-Repository ist bereits konfiguriert."
fi
sudo apt update && sudo apt install -y spotify-client
fi fi
# Spotify .desktop-Datei erstellen # Spotify .desktop-Datei erstellen
@@ -110,7 +96,7 @@ dependencies=(man fzf ripgrep awk w3m coreutils parallel)
for dep in "${dependencies[@]}"; do for dep in "${dependencies[@]}"; do
if ! command -v "$dep" &>/dev/null; then if ! command -v "$dep" &>/dev/null; then
echo "🔄 Installiere $dep..." echo "🔄 Installiere $dep..."
sudo apt install -y "$dep" sudo pacman -S --noconfirm "$dep"
else else
echo "$dep ist bereits installiert." echo "$dep ist bereits installiert."
fi fi
@@ -120,7 +106,7 @@ done
# Tealdeer (tldr-Client) installieren # Tealdeer (tldr-Client) installieren
if ! command -v tldr &>/dev/null; then if ! command -v tldr &>/dev/null; then
echo "🔄 Installiere tealdeer..." echo "🔄 Installiere tealdeer..."
sudo apt install -y tealdeer sudo pacman -S --noconfirm tealdeer
else else
echo "✅ Tealdeer ist bereits installiert." echo "✅ Tealdeer ist bereits installiert."
fi fi
@@ -144,7 +130,7 @@ if ! command -v wikiman &>/dev/null; then
# Prüfen, ob `make` installiert ist # Prüfen, ob `make` installiert ist
if ! command -v make &>/dev/null; then if ! command -v make &>/dev/null; then
echo "🔄 Installiere make..." echo "🔄 Installiere make..."
sudo apt install -y make sudo pacman -S --noconfirm make
fi fi
git clone 'https://github.com/filiparag/wikiman' ~/wikiman git clone 'https://github.com/filiparag/wikiman' ~/wikiman
@@ -185,7 +171,7 @@ xdg-mime default org.gnome.Loupe.desktop image/jpeg
xdg-mime default org.gnome.Loupe.desktop image/png xdg-mime default org.gnome.Loupe.desktop image/png
# Disk-Utility, PDF-Viewer (Okular), Softwarecenter und Flatpak-Plugin, Systemmonitor # Disk-Utility, PDF-Viewer (Okular), Softwarecenter und Flatpak-Plugin, Systemmonitor
sudo apt -y install gnome-disk-utility okular gnome-software gnome-software-plugin-flatpak gnome-system-monitor sudo pacman -S --noconfirm gnome-disk-utility okular gnome-software gnome-system-monitor
# Okular als Standard-PDF-Viewer setzen # Okular als Standard-PDF-Viewer setzen
xdg-mime default okularApplication_pdf.desktop application/pdf xdg-mime default okularApplication_pdf.desktop application/pdf
# Betterbird als Standard-Mail-Programm setzen # Betterbird als Standard-Mail-Programm setzen
@@ -245,23 +231,31 @@ read -p "❓ Soll VeraCrypt installiert werden? (j/n) [n]: " answer
answer=${answer,,} # In Kleinbuchstaben umwandeln answer=${answer,,} # In Kleinbuchstaben umwandeln
answer=${answer:-n} # Standardwert 'n', falls leer answer=${answer:-n} # Standardwert 'n', falls leer
if [[ "$answer" == "j" ]] || [[ "$anwser" == "y" ]]; then if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
echo "🔄 Installiere VeraCrypt..." echo "🔄 Installiere VeraCrypt..."
echo 'deb http://download.opensuse.org/repositories/home:/unit193:/veracrypt/Debian_12/ /' | sudo tee /etc/apt/sources.list.d/home:unit193:veracrypt.list
curl -fsSL https://download.opensuse.org/repositories/home:unit193:veracrypt/Debian_12/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_unit193_veracrypt.gpg > /dev/null # VeraCrypt aus den Arch-Repositories installieren
sudo apt update if ! command -v veracrypt &>/dev/null; then
sudo apt install veracrypt sudo pacman -S --noconfirm veracrypt
else
echo "✅ VeraCrypt ist bereits installiert."
fi
fi fi
# Webmin installieren # Webmin installieren
read -p "❓ Soll webmin installiert werden? (j/n) [n]: " answer read -p "❓ Soll Webmin installiert werden? (j/n) [n]: " answer
answer=${answer,,} # In Kleinbuchstaben umwandeln answer=${answer,,} # In Kleinbuchstaben umwandeln
answer=${answer:-n} # Standardwert 'n', falls leer answer=${answer:-n} # Standardwert 'n', falls leer
if [[ "$answer" == "j" ]] || [[ "$anwser" == "y" ]]; then if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
curl -o /tmp/webmin-setup-repo.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repo.sh echo "🔄 Installiere Webmin..."
sudo sh /tmp/webmin-setup-repo.sh
sudo apt install webmin -y # Webmin aus dem AUR installieren (falls yay vorhanden ist)
if command -v yay &>/dev/null; then
yay -S --noconfirm webmin
else
echo "❌ Bitte installiere yay oder einen anderen AUR-Helper, um Webmin zu installieren."
fi
fi fi
# Waydroid installieren # Waydroid installieren
@@ -269,17 +263,31 @@ read -p "❓ Soll Waydroid installiert werden? (j/n) [n]: " answer
answer=${answer,,} # In Kleinbuchstaben umwandeln answer=${answer,,} # In Kleinbuchstaben umwandeln
answer=${answer:-n} # Standardwert 'n', falls leer answer=${answer:-n} # Standardwert 'n', falls leer
if [[ "$answer" == "j" ]] || [[ "$anwser" == "y" ]]; then if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
sudo apt install curl ca-certificates -y echo "🔄 Installiere Waydroid über AUR..."
curl -s https://repo.waydro.id | sudo bash
sudo apt install waydroid -y
# Überprüfen, ob yay installiert ist
if ! command -v yay &>/dev/null; then
echo "❌ Yay ist nicht installiert. Bitte installiere yay und versuche es erneut."
exit 1
fi
# Waydroid über AUR installieren
yay -S --noconfirm waydroid
# UFW konfigurieren (falls installiert)
if command -v ufw &>/dev/null; then
sudo ufw allow 53 sudo ufw allow 53
sudo ufw allow 67 sudo ufw allow 67
sudo ufw default allow FORWARD sudo ufw default allow FORWARD
else
echo "❌ UFW ist nicht installiert. Bitte installiere es manuell, falls benötigt."
fi
# Waydroid-Container aktivieren
sudo systemctl enable --now waydroid-container sudo systemctl enable --now waydroid-container
# Skript zum Verstecken der Waydroid-Apps erstellen
sudo cat << 'EOF' | sudo tee /etc/profile.d/hide_waydroid_apps.sh > /dev/null sudo cat << 'EOF' | sudo tee /etc/profile.d/hide_waydroid_apps.sh > /dev/null
for app in ~/.local/share/applications/waydroid.*.desktop; do for app in ~/.local/share/applications/waydroid.*.desktop; do
grep -q NoDisplay $app || sed '/^Icon=/a NoDisplay=true' -i $app grep -q NoDisplay $app || sed '/^Icon=/a NoDisplay=true' -i $app

View File

@@ -5,7 +5,7 @@
Dieses Repository enthält Skripte um ein Linux System mit Hyprland und diversen Programmen aufzusetzen. Dieses Repository enthält Skripte um ein Linux System mit Hyprland und diversen Programmen aufzusetzen.
Die entsprechenden Skripte befinden sich in den Branches zur jeweiligen Distribution. Die entsprechenden Skripte befinden sich in den Branches zur jeweiligen Distribution.
**Mit diesen Skripten kann *Debian 12 (Bookworm)* mit *Hyprland* und diversen Programmen aufgesetzt werden.** **Mit diesen Skripten kann *ARCH Linux* mit *Hyprland* und diversen Programmen aufgesetzt werden.**
## Anforderungen ## Anforderungen
@@ -19,7 +19,7 @@ Um die Skripte in diesem Repository auszuführen, stelle sicher, dass die folgen
1. Klone das Repository: 1. Klone das Repository:
```bash ```bash
git clone https://gitea.creative-dragonslayer.de/DragonSlayer_14/Setup.git git clone -b arch https://gitea.creative-dragonslayer.de/DragonSlayer_14/Setup.git
``` ```
2. Wechsle in den richtigen Branch. 2. Wechsle in den richtigen Branch.
3. Navigiere in das Verzeichnis `Setup`, um die ausführbaren Dateien und Ressourcen zu finden. 3. Navigiere in das Verzeichnis `Setup`, um die ausführbaren Dateien und Ressourcen zu finden.