Compare commits
35 Commits
debian_12_
...
tuxedo_os
| Author | SHA1 | Date | |
|---|---|---|---|
| a8f6424d7c | |||
| 112effff69 | |||
| 49630272c5 | |||
| 50468884d2 | |||
| 5d723f8c26 | |||
| 3fa1f007c2 | |||
| 794a23cf01 | |||
| a1635cc40e | |||
| dfaac4730e | |||
| 68c2534576 | |||
| 673849b3c2 | |||
| 515e978581 | |||
| 320060fa65 | |||
| 7193e5cff3 | |||
| 1da25afe66 | |||
| f7b1bd93a1 | |||
| fe4d7f79be | |||
| b438ae765b | |||
| e68a2a312d | |||
| 8bfe82c40a | |||
| f9f32faa1b | |||
| badffdf682 | |||
| 10c3de710f | |||
| 75e39c2a4d | |||
| 84f7909292 | |||
| d307b0a2f2 | |||
| beccffac1e | |||
| 4ca16ec273 | |||
| 798629e756 | |||
| e9ac090a97 | |||
| 84273f27df | |||
| d991228c6b | |||
| eefe740b81 | |||
| b7228cdb25 | |||
| 172823a1db |
114
0_Setup.sh
114
0_Setup.sh
@@ -7,108 +7,15 @@ if [ "$(id -u)" -ne 0 ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
apt update && apt upgrade -y
|
apt update && apt upgrade -y
|
||||||
|
|
||||||
# sources-list Config
|
|
||||||
read -p "❓ Soll die apt sources-list so konfiguriert werden, dass sie Contributions und non-free Software zum installieren ermöglicht? (j/n) [n]: " answer
|
|
||||||
answer=${answer,,} # In Kleinbuchstaben umwandeln
|
|
||||||
answer=${answer:-n} # Standardwert 'n', falls leer
|
|
||||||
|
|
||||||
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
|
||||||
# Datei-Pfad zur sources.list
|
|
||||||
SOURCE_LIST="/etc/apt/sources.list"
|
|
||||||
|
|
||||||
# Backup erstellen
|
|
||||||
cp "$SOURCE_LIST" "$SOURCE_LIST.bak"
|
|
||||||
|
|
||||||
echo "ℹ️ Aktualisiere $SOURCE_LIST..."
|
|
||||||
|
|
||||||
# Temporäre Datei erstellen
|
|
||||||
TEMP_FILE=$(mktemp)
|
|
||||||
|
|
||||||
# Fehlende Komponenten, die hinzugefügt werden sollen
|
|
||||||
REQUIRED_COMPONENTS=("main" "non-free" "non-free-firmware" "contrib")
|
|
||||||
|
|
||||||
while IFS= read -r line; do
|
|
||||||
# Falls die Zeile auskommentiert oder leer ist, unverändert übernehmen
|
|
||||||
if [[ "$line" =~ ^# || -z "$line" ]]; then
|
|
||||||
echo "$line" >>"$TEMP_FILE"
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Die ersten drei Felder als APT-Befehl, URL und Distribution speichern
|
|
||||||
APT_CMD=$(echo "$line" | awk '{print $1}')
|
|
||||||
APT_URL=$(echo "$line" | awk '{print $2}')
|
|
||||||
APT_DIST=$(echo "$line" | awk '{print $3}')
|
|
||||||
|
|
||||||
# Alle vorhandenen Komponenten sammeln (ab Feld 4)
|
|
||||||
CURRENT_COMPONENTS=$(echo "$line" | cut -d' ' -f4-)
|
|
||||||
|
|
||||||
# Set für aktuelle Komponenten erstellen
|
|
||||||
COMPONENTS_SET=($CURRENT_COMPONENTS)
|
|
||||||
|
|
||||||
# Fehlende Komponenten hinzufügen
|
|
||||||
for component in "${REQUIRED_COMPONENTS[@]}"; do
|
|
||||||
if ! [[ " ${COMPONENTS_SET[*]} " =~ " $component " ]]; then
|
|
||||||
COMPONENTS_SET+=("$component")
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Neue Zeile mit ursprünglichem APT-Befehl, URL, Distribution und aktualisierten Komponenten schreiben
|
|
||||||
echo "$APT_CMD $APT_URL $APT_DIST ${COMPONENTS_SET[*]}" >>"$TEMP_FILE"
|
|
||||||
|
|
||||||
done <"$SOURCE_LIST"
|
|
||||||
|
|
||||||
# Originaldatei ersetzen
|
|
||||||
mv "$TEMP_FILE" "$SOURCE_LIST"
|
|
||||||
|
|
||||||
# apt aktualisieren
|
|
||||||
echo "🔄 Aktualisiere APT..."
|
|
||||||
apt update
|
|
||||||
|
|
||||||
echo "✅ Fertig! $SOURCE_LIST wurde aktualisiert."
|
|
||||||
fi
|
|
||||||
|
|
||||||
apt install -y git sudo 7zip unrar unzip network-manager software-properties-common tree bluetooth wget curl
|
apt install -y git sudo 7zip unrar unzip network-manager software-properties-common tree bluetooth wget curl
|
||||||
|
|
||||||
# GRUB-Config
|
|
||||||
read -p "❓ Soll GRUB so konfiguriert werden, dass es nur im Fehlerfall angezeigt wird? (j/n) [n]: " answer
|
|
||||||
answer=${answer,,} # In Kleinbuchstaben umwandeln
|
|
||||||
answer=${answer:-n} # Standardwert 'n', falls leer
|
|
||||||
|
|
||||||
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
|
||||||
echo "ℹ️ GRUB wird so konfiguriert, dass es nur im Fehlerfall angezeigt wird..."
|
|
||||||
|
|
||||||
# Sicherstellen, dass die Datei existiert
|
|
||||||
GRUB_CFG="/etc/default/grub"
|
|
||||||
|
|
||||||
if [[ ! -f "$GRUB_CFG" ]]; then
|
|
||||||
echo "❌ Fehler: $GRUB_CFG nicht gefunden!"
|
|
||||||
else
|
|
||||||
# Backup der aktuellen GRUB-Konfiguration
|
|
||||||
cp "$GRUB_CFG" "$GRUB_CFG.bak"
|
|
||||||
|
|
||||||
# Konfigurationsänderungen vornehmen
|
|
||||||
sed -i 's/^GRUB_TIMEOUT=.*/GRUB_TIMEOUT=0/' "$GRUB_CFG"
|
|
||||||
sed -i 's/^GRUB_TIMEOUT_STYLE=.*/GRUB_TIMEOUT_STYLE=hidden/' "$GRUB_CFG"
|
|
||||||
|
|
||||||
# Falls die Einträge nicht existieren, hinzufügen
|
|
||||||
grep -q '^GRUB_TIMEOUT=' "$GRUB_CFG" || echo 'GRUB_TIMEOUT=0' >>"$GRUB_CFG"
|
|
||||||
grep -q '^GRUB_TIMEOUT_STYLE=' "$GRUB_CFG" || echo 'GRUB_TIMEOUT_STYLE=hidden' >>"$GRUB_CFG"
|
|
||||||
|
|
||||||
# GRUB-Konfiguration aktualisieren
|
|
||||||
update-grub
|
|
||||||
|
|
||||||
echo "✅ GRUB wurde erfolgreich angepasst. Änderungen werden beim nächsten Boot wirksam."
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# sbin in Path
|
# sbin in Path
|
||||||
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,,} # 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
|
||||||
cat << 'EOF' >/etc/profile.d/sbin_in_path.sh
|
cat << 'EOF' > /etc/profile.d/sbin_in_path.sh
|
||||||
if groups | grep -q "\bsudo\b"; then
|
if groups | grep -q "\bsudo\b"; then
|
||||||
case ":$PATH:" in
|
case ":$PATH:" in
|
||||||
*":/sbin:"*) ;;
|
*":/sbin:"*) ;;
|
||||||
@@ -126,11 +33,11 @@ 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,,} # 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
|
||||||
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 *\ admin\ *|*\ sudo\ *)
|
||||||
if [ -x /usr/bin/sudo ]; then
|
if [ -x /usr/bin/sudo ]; then
|
||||||
@@ -146,11 +53,11 @@ fi
|
|||||||
|
|
||||||
# sudo-Hinweis
|
# sudo-Hinweis
|
||||||
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,,} # 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
|
||||||
cat << 'EOF' >/etc/profile.d/xdg_dirs_desktop_session.sh
|
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
|
# /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"
|
||||||
@@ -183,4 +90,13 @@ fi
|
|||||||
|
|
||||||
chmod +x /etc/profile.d/*
|
chmod +x /etc/profile.d/*
|
||||||
|
|
||||||
|
# Passwort root
|
||||||
|
read -p "❓ Soll ein Passwort für root gesetzt werden? (j/n) [n]: " answer
|
||||||
|
answer=${answer,,} # In Kleinbuchstaben umwandeln
|
||||||
|
answer=${answer:-n} # Standardwert 'n', falls leer
|
||||||
|
|
||||||
|
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
||||||
|
passwd root
|
||||||
|
fi
|
||||||
|
|
||||||
echo "✅ Abgeschlossen. Zum Anwenden der Änderungen bitte neu einloggen!"
|
echo "✅ Abgeschlossen. Zum Anwenden der Änderungen bitte neu einloggen!"
|
||||||
|
|||||||
@@ -23,8 +23,8 @@ cd "$REPO_DIR" || { echo "❌ Fehler: Konnte nicht in das Verzeichnis wechseln!"
|
|||||||
# AD-Skript ausführen
|
# AD-Skript ausführen
|
||||||
if [ -f "ADconnection.sh" ]; then
|
if [ -f "ADconnection.sh" ]; then
|
||||||
chmod +x ADconnection.sh
|
chmod +x ADconnection.sh
|
||||||
echo "ℹ️ Starte Active Directory setup..."
|
echo "ℹ️ Starte Active Directory setup mit: ./ADconnection.sh"
|
||||||
./ADconnection.sh
|
echo "⚠️ Achtung! Das Skript erkennt Tuxedo nicht. Passe es an, dass der ADJoin von Ubuntu ausgeführt wird!"
|
||||||
else
|
else
|
||||||
echo "❌ Fehler: ADconnection.sh nicht gefunden!"
|
echo "❌ Fehler: ADconnection.sh nicht gefunden!"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -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? (j/n) [n]: " 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
|
|
||||||
|
|
||||||
14
2_HyprlandInstall.sh
Executable file
14
2_HyprlandInstall.sh
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Sicherstellen, dass das Skript **nicht** als root ausgeführt wird
|
||||||
|
if [[ $EUID -eq 0 ]]; then
|
||||||
|
echo "❌ Bitte nicht als root ausführen! Das Skript nutzt sudo, falls nötig."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
DIR = "/tmp/setup-hyprland"
|
||||||
|
|
||||||
|
mkdir -p $DIR
|
||||||
|
cd $DIR
|
||||||
|
|
||||||
|
sh <(curl -L https://raw.githubusercontent.com/JaKooLit/Ubuntu-Hyprland/24.04/auto-install.sh)
|
||||||
@@ -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
|
|
||||||
@@ -38,8 +38,8 @@ if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Repository klonen
|
# Repository klonen
|
||||||
REPO_DIR="$USER_HOME/Debian-Hyprland"
|
REPO_DIR="$USER_HOME/Ubuntu-Hyprland"
|
||||||
sudo -u "$USER_NAME" git clone https://github.com/JaKooLit/Debian-Hyprland.git "$REPO_DIR"
|
sudo -u "$USER_NAME" git clone -b 24.04 https://github.com/JaKooLit/Ubuntu-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"
|
||||||
@@ -63,6 +63,32 @@ if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; 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
|
||||||
|
|
||||||
|
# Den tatsächlichen Benutzer ermitteln, der das Skript mit sudo ausführt
|
||||||
|
if [[ -n "$SUDO_USER" ]]; then
|
||||||
|
USER_HOME=$(eval echo "~$SUDO_USER")
|
||||||
|
else
|
||||||
|
USER_HOME="$HOME"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Pfad zur .zshrc-Datei des tatsächlichen Benutzers
|
||||||
|
ZSHRC_FILE="$USER_HOME/.zshrc"
|
||||||
|
|
||||||
|
# Sicherstellen, dass die Datei existiert
|
||||||
|
if [[ -f "$ZSHRC_FILE" ]]; then
|
||||||
|
# Zeilen mit "fastfetch" am Anfang auskommentieren
|
||||||
|
sed -i '/^fastfetch/ s/^/#/' "$ZSHRC_FILE"
|
||||||
|
|
||||||
|
# Prüfen, ob "neofetch" bereits in der Datei steht
|
||||||
|
if ! grep -q "^neofetch$" "$ZSHRC_FILE"; then
|
||||||
|
# Zwei Zeilenumbrüche vor und ein Zeilenumbruch nach "neofetch" hinzufügen
|
||||||
|
echo -e "\n\nneofetch\n" >> "$ZSHRC_FILE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Die Änderungen wurden erfolgreich vorgenommen."
|
||||||
|
else
|
||||||
|
echo "Die Datei $ZSHRC_FILE wurde nicht gefunden."
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "✅ Shell wurde erfolgreich auf ZSH gesetzt! Zum Anwenden, neue Terminal-Sitzung öffnen."
|
echo "✅ Shell wurde erfolgreich auf ZSH gesetzt! Zum Anwenden, neue Terminal-Sitzung öffnen."
|
||||||
@@ -50,4 +50,4 @@ EOF
|
|||||||
systemctl restart sddm
|
systemctl restart sddm
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "✅ Konfiguration von SDDM und sssd abgeschlossen!"
|
echo "✅ Konfiguration von SDDM und sssd abgeschlossen!"
|
||||||
@@ -10,25 +10,35 @@ 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 apt update && sudo apt upgrade -y && sudo apt autoremove -y
|
||||||
|
|
||||||
|
# Unnötige Pakete entfernen
|
||||||
|
read -p "❓ Sollen unnötige KDE-Pakete entfernt werden? (j/n) [n]: " answer
|
||||||
|
answer=${answer,,} # In Kleinbuchstaben umwandeln
|
||||||
|
answer=${answer:-n} # Standardwert 'n', falls leer
|
||||||
|
|
||||||
|
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
||||||
|
echo "🔄 Entferne Pakete..."
|
||||||
|
sudo apt remove -y kmahjongg kmines kpat ksudoku nextcloud-desktop skanlite thunderbird virtualbox
|
||||||
|
fi
|
||||||
|
|
||||||
echo "ℹ️ Firewall (ufw) wird installiert..."
|
echo "ℹ️ Firewall (ufw) wird installiert..."
|
||||||
sudo apt install -y ufw
|
sudo apt install -y 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 apt install -y enable clamav clamav-freshclam clamav-docs clamav-daemon
|
||||||
|
|
||||||
echo "ℹ️ Installiere Flatpak..."
|
echo "ℹ️ Installiere Flatpak..."
|
||||||
sudo apt install -y 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..."
|
echo "🔄 Installiere nützliche Pakete..."
|
||||||
sudo apt install -y neovim rfkill xdg-user-dirs rsync bleachbit network-manager-gnome
|
sudo apt install -y neovim rfkill xdg-user-dirs rsync maliit-keyboard ffmpeg printer-driver-* bleachbit network-manager-gnome
|
||||||
|
|
||||||
# Portmaster installieren
|
# Portmaster installieren
|
||||||
read -p "❓ Soll Portmaster installiert werden? (j/n) [n]: " answer
|
read -p "❓ Soll Portmaster 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" ]] || [[ "$answer" == "y" ]]; then
|
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
||||||
@@ -41,22 +51,22 @@ fi
|
|||||||
|
|
||||||
# Waterfox-Installation
|
# Waterfox-Installation
|
||||||
read -p "❓ Soll Firefox durch Waterfox ersetzt werden? (j/n) [n]: " answer
|
read -p "❓ Soll Firefox durch Waterfox ersetzt 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
|
||||||
echo "🌍 Waterfox wird installiert..."
|
echo "🌍 Waterfox wird installiert..."
|
||||||
sudo apt remove -y firefox
|
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
|
echo 'deb http://download.opensuse.org/repositories/home:/hawkeye116477:/waterfox/xUbuntu_24.04/ /' | 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
|
curl -fsSL https://download.opensuse.org/repositories/home:hawkeye116477:waterfox/xUbuntu_24.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_hawkeye116477_waterfox.gpg >/dev/null
|
||||||
|
|
||||||
sudo apt update && sudo apt install -y 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
|
||||||
echo "🌍 Setze Waterfox als Standardbrowser..."
|
echo "🌍 Setze Waterfox als Standardbrowser..."
|
||||||
if command -v xdg-settings >/dev/null 2>&1; then
|
if command -v xdg-settings >/dev/null 2 >&1; then
|
||||||
xdg-settings set default-web-browser waterfox.desktop
|
xdg-settings set default-web-browser waterfox.desktop
|
||||||
echo "✅ Waterfox wurde als Standardbrowser gesetzt."
|
echo "✅ Waterfox wurde als Standardbrowser gesetzt."
|
||||||
|
|
||||||
@@ -70,12 +80,13 @@ if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Hyprland User Bindings
|
# Hyprland Anpassungen
|
||||||
read -p "❓ Sollen Anpassungen an den Hyprland-Keybinds vorgenomen werden? (j/n) [n]: " answer
|
read -p "❓ Sollen Anpassungen an den Hyprland-Configs vorgenomen 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
|
||||||
|
# Hyprland User Bindings
|
||||||
HYPR_CONFIG_DIR="$HOME/.config/hypr/UserConfigs"
|
HYPR_CONFIG_DIR="$HOME/.config/hypr/UserConfigs"
|
||||||
mkdir -p "$HYPR_CONFIG_DIR"
|
mkdir -p "$HYPR_CONFIG_DIR"
|
||||||
|
|
||||||
@@ -95,6 +106,27 @@ if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
|||||||
echo "ℹ️ Keybind existiert bereits: ${KEYBINDS[$BIND]}"
|
echo "ℹ️ Keybind existiert bereits: ${KEYBINDS[$BIND]}"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
echo "🔄 Füge Autostart-Apps hinzu..."
|
||||||
|
# Pfad zur Konfigurationsdatei
|
||||||
|
CONFIG_FILE="$HOME/.config/hypr/UserConfigs/Startup_Apps.conf"
|
||||||
|
|
||||||
|
# Zeile, die hinzugefügt werden soll
|
||||||
|
LINE_TO_ADD="exec-once = tuxedo-control-center --tray"
|
||||||
|
|
||||||
|
# Überprüfen, ob die Datei existiert
|
||||||
|
if [ -f "$CONFIG_FILE" ]; then
|
||||||
|
# Überprüfen, ob die Zeile bereits existiert
|
||||||
|
if ! grep -Fxq "$LINE_TO_ADD" "$CONFIG_FILE"; then
|
||||||
|
# Zeile hinzufügen
|
||||||
|
echo "$LINE_TO_ADD" >>"$CONFIG_FILE"
|
||||||
|
echo "Zeile wurde erfolgreich hinzugefügt."
|
||||||
|
else
|
||||||
|
echo "Die Zeile existiert bereits in der Datei."
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Die Datei $CONFIG_FILE existiert nicht."
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Standardvorlagen ablegen
|
# Standardvorlagen ablegen
|
||||||
@@ -128,10 +160,11 @@ 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
|
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,,} # 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
|
||||||
|
|
||||||
# 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
|
||||||
@@ -192,25 +225,25 @@ if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
|||||||
|
|
||||||
# Ersetzungen vornehmen
|
# Ersetzungen vornehmen
|
||||||
sed -i \
|
sed -i \
|
||||||
-e 's|\$HOME/Desktop|$(xdg-user-dir DESKTOP)|g' \
|
-e 's|\$HOME/Desktop|$(xdg-user-dir DESKTOP)|g' \
|
||||||
-e 's|\$HOME/Downloads|$(xdg-user-dir DOWNLOAD)|g' \
|
-e 's|\$HOME/Downloads|$(xdg-user-dir DOWNLOAD)|g' \
|
||||||
-e 's|\$HOME/Documents|$(xdg-user-dir DOCUMENTS)|g' \
|
-e 's|\$HOME/Documents|$(xdg-user-dir DOCUMENTS)|g' \
|
||||||
-e 's|\$HOME/Pictures|$(xdg-user-dir PICTURES)|g' \
|
-e 's|\$HOME/Pictures|$(xdg-user-dir PICTURES)|g' \
|
||||||
-e 's|\$HOME/Music|$(xdg-user-dir MUSIC)|g' \
|
-e 's|\$HOME/Music|$(xdg-user-dir MUSIC)|g' \
|
||||||
-e 's|\$HOME/Videos|$(xdg-user-dir VIDEOS)|g' \
|
-e 's|\$HOME/Videos|$(xdg-user-dir VIDEOS)|g' \
|
||||||
-e 's|/home/[a-zA-Z0-9._-]*/Desktop|$(xdg-user-dir DESKTOP)|g' \
|
-e 's|/home/[a-zA-Z0-9._-]*/Desktop|$(xdg-user-dir DESKTOP)|g' \
|
||||||
-e 's|/home/[a-zA-Z0-9._-]*/Downloads|$(xdg-user-dir DOWNLOAD)|g' \
|
-e 's|/home/[a-zA-Z0-9._-]*/Downloads|$(xdg-user-dir DOWNLOAD)|g' \
|
||||||
-e 's|/home/[a-zA-Z0-9._-]*/Documents|$(xdg-user-dir DOCUMENTS)|g' \
|
-e 's|/home/[a-zA-Z0-9._-]*/Documents|$(xdg-user-dir DOCUMENTS)|g' \
|
||||||
-e 's|/home/[a-zA-Z0-9._-]*/Pictures|$(xdg-user-dir PICTURES)|g' \
|
-e 's|/home/[a-zA-Z0-9._-]*/Pictures|$(xdg-user-dir PICTURES)|g' \
|
||||||
-e 's|/home/[a-zA-Z0-9._-]*/Music|$(xdg-user-dir MUSIC)|g' \
|
-e 's|/home/[a-zA-Z0-9._-]*/Music|$(xdg-user-dir MUSIC)|g' \
|
||||||
-e 's|/home/[a-zA-Z0-9._-]*/Videos|$(xdg-user-dir VIDEOS)|g' \
|
-e 's|/home/[a-zA-Z0-9._-]*/Videos|$(xdg-user-dir VIDEOS)|g' \
|
||||||
-e 's|$(xdg-user-dir)/Desktop|$(xdg-user-dir DESKTOP)|g' \
|
-e 's|$(xdg-user-dir)/Desktop|$(xdg-user-dir DESKTOP)|g' \
|
||||||
-e 's|$(xdg-user-dir)/Downloads|$(xdg-user-dir DOWNLOAD)|g' \
|
-e 's|$(xdg-user-dir)/Downloads|$(xdg-user-dir DOWNLOAD)|g' \
|
||||||
-e 's|$(xdg-user-dir)/Documents|$(xdg-user-dir DOCUMENTS)|g' \
|
-e 's|$(xdg-user-dir)/Documents|$(xdg-user-dir DOCUMENTS)|g' \
|
||||||
-e 's|$(xdg-user-dir)/Pictures|$(xdg-user-dir PICTURES)|g' \
|
-e 's|$(xdg-user-dir)/Pictures|$(xdg-user-dir PICTURES)|g' \
|
||||||
-e 's|$(xdg-user-dir)/Music|$(xdg-user-dir MUSIC)|g' \
|
-e 's|$(xdg-user-dir)/Music|$(xdg-user-dir MUSIC)|g' \
|
||||||
-e 's|$(xdg-user-dir)/Videos|$(xdg-user-dir VIDEOS)|g' \
|
-e 's|$(xdg-user-dir)/Videos|$(xdg-user-dir VIDEOS)|g' \
|
||||||
"$FILE"
|
"$FILE"
|
||||||
|
|
||||||
echo "✅ Ersetzungen in $FILE abgeschlossen."
|
echo "✅ Ersetzungen in $FILE abgeschlossen."
|
||||||
fi
|
fi
|
||||||
@@ -228,9 +261,14 @@ if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
|||||||
echo "⚠️ Datei $USER_KEYBINDS_FILE existiert nicht. Überspringe Anpassung der Verweise."
|
echo "⚠️ Datei $USER_KEYBINDS_FILE existiert nicht. Überspringe Anpassung der Verweise."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "📂 Verschiebe $(xdg-user-dir)/Pictures nach $(xdg-user-dir PICTURES)..."
|
# Überprüfen, ob der Ordner existiert
|
||||||
rsync -av --ignore-existing "$(xdg-user-dir)/Pictures/" "$(xdg-user-dir PICTURES)/"
|
if [ -d "$(xdg-user-dir)/Pictures" ]; then
|
||||||
rm -r "$(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)/"
|
||||||
|
rm -r "$(xdg-user-dir)/Pictures/"
|
||||||
|
else
|
||||||
|
echo "📂 Der Ordner $(xdg-user-dir)/Pictures existiert nicht. Kein Verschieben notwendig."
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "✅ Skript erfolgreich ausgeführt!"
|
echo "✅ Skript erfolgreich ausgeführt!"
|
||||||
@@ -11,36 +11,21 @@ apt update && apt upgrade -y
|
|||||||
|
|
||||||
# Steam-Installation
|
# Steam-Installation
|
||||||
read -p "❓ Soll Steam installiert werden? (j/n) [n]: " answer
|
read -p "❓ Soll Steam 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" ]] || [[ "$answer" == "y" ]]; then
|
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 steam
|
||||||
|
|
||||||
wget -O /tmp/steam.deb https://cdn.akamai.steamstatic.com/client/installer/steam.deb
|
|
||||||
apt install -y /tmp/steam.deb
|
|
||||||
rm /tmp/steam.deb
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Lutris-Installation
|
# Lutris-Installation
|
||||||
read -p "❓ Soll Lutris installiert werden? (j/n) [n]: " answer
|
read -p "❓ Soll Lutris 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" ]] || [[ "$answer" == "y" ]]; then
|
if [[ "$answer" == "j" ]] || [[ "$answer" == "y" ]]; then
|
||||||
LUTRIS_KEYRING="/etc/apt/keyrings/lutris.gpg"
|
|
||||||
LUTRIS_REPO="https://download.opensuse.org/repositories/home:/strycore/Debian_12/"
|
|
||||||
|
|
||||||
mkdir -p /etc/apt/keyrings
|
|
||||||
wget -qO /tmp/lutris-key.gpg "${LUTRIS_REPO}Release.key"
|
|
||||||
gpg --dearmor </tmp/lutris-key.gpg >"$LUTRIS_KEYRING"
|
|
||||||
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
|
apt install -y lutris
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -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!"
|
|
||||||
@@ -33,7 +33,7 @@ for APP in "${!FLATPAK_APPS[@]}"; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
# Dynamischen Vorlagen-Ordner ermitteln
|
# Dynamischen Vorlagen-Ordner ermitteln
|
||||||
TEMPLATE_DIR=$(xdg-user-dir TEMPLATES 2>/dev/null || echo "$HOME/Vorlagen")
|
TEMPLATE_DIR=$(xdg-user-dir TEMPLATES 2 >/dev/null || echo "$HOME/Vorlagen")
|
||||||
mkdir -p "$TEMPLATE_DIR"
|
mkdir -p "$TEMPLATE_DIR"
|
||||||
|
|
||||||
# Prüfen, ob LibreOffice als Flatpak installiert ist
|
# Prüfen, ob LibreOffice als Flatpak installiert ist
|
||||||
@@ -242,15 +242,14 @@ flatpak install com.github.tchx84.Flatseal -y
|
|||||||
|
|
||||||
# VeraCrypt installieren
|
# VeraCrypt installieren
|
||||||
read -p "❓ Soll VeraCrypt installiert werden? (j/n) [n]: " answer
|
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" ]] || [[ "$anwser" == "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
|
sudo add-apt-repository ppa:unit193/encryption -y
|
||||||
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
|
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt install veracrypt
|
sudo apt install -y veracrypt
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Webmin installieren
|
# Webmin installieren
|
||||||
@@ -261,7 +260,7 @@ answer=${answer:-n} # Standardwert 'n', falls leer
|
|||||||
if [[ "$answer" == "j" ]] || [[ "$anwser" == "y" ]]; then
|
if [[ "$answer" == "j" ]] || [[ "$anwser" == "y" ]]; then
|
||||||
curl -o /tmp/webmin-setup-repo.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repo.sh
|
curl -o /tmp/webmin-setup-repo.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repo.sh
|
||||||
sudo sh /tmp/webmin-setup-repo.sh
|
sudo sh /tmp/webmin-setup-repo.sh
|
||||||
sudo apt install webmin -y
|
sudo apt install webmin -y --install-recommends
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Waydroid installieren
|
# Waydroid installieren
|
||||||
@@ -271,7 +270,7 @@ answer=${answer:-n} # Standardwert 'n', falls leer
|
|||||||
|
|
||||||
if [[ "$answer" == "j" ]] || [[ "$anwser" == "y" ]]; then
|
if [[ "$answer" == "j" ]] || [[ "$anwser" == "y" ]]; then
|
||||||
sudo apt install curl ca-certificates -y
|
sudo apt install curl ca-certificates -y
|
||||||
curl -s https://repo.waydro.id | sudo bash
|
curl -s https://repo.waydro.id | sudo bash -s -- -s noble
|
||||||
sudo apt install waydroid -y
|
sudo apt install waydroid -y
|
||||||
|
|
||||||
sudo ufw allow 53
|
sudo ufw allow 53
|
||||||
@@ -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."
|
|
||||||
@@ -5,7 +5,8 @@
|
|||||||
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 *Tuxedo OS*, das auf Ubuntu 24.04 (Noble Numbat) basiert, mit *Hyprland* und diversen
|
||||||
|
Programmen aufgesetzt werden.**
|
||||||
|
|
||||||
## Anforderungen
|
## Anforderungen
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user