#!/bin/bash set -e # Skript bricht bei Fehlern ab # Sicherstellen, dass das Skript **nicht** als root ausgeführt wird 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." exit 1 fi echo "🔄 System wird aktualisiert..." sudo apt update && sudo apt install -y flatpak neovim # Flatpak Flathub-Repo hinzufügen sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo # Firefox-Installation echo "🌍 Firefox wird installiert..." sudo install -d -m 0755 /etc/apt/keyrings wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O /tmp/packages.mozilla.org.asc gpg --dearmor < /tmp/packages.mozilla.org.asc | sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null rm /tmp/packages.mozilla.org.asc echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee /etc/apt/sources.list.d/mozilla.list > /dev/null echo -e 'Package: *\nPin: origin packages.mozilla.org\nPin-Priority: 1000' | sudo tee /etc/apt/preferences.d/mozilla > /dev/null sudo apt update && sudo apt install -y firefox # Hyprland User Bindings HYPR_CONFIG_DIR="$HOME/.config/hypr/UserConfigs" mkdir -p "$HYPR_CONFIG_DIR" # Keybinds hinzufügen (falls nicht vorhanden) declare -A KEYBINDS=( ["bindr = \$mainMod, \$mainMod_L, exec, pkill rofi || rofi -show drun -modi drun,filebrowser,run,window"]="rofi menu" ["bindr = \$mainMod, L, exec, \$scriptsDir/LockScreen.sh"]="screen lock" ["bindr = \$mainMod, V, exec, \$scriptsDir/ClipManager.sh"]="Clipboard Manager" ) for BIND in "${!KEYBINDS[@]}"; do if ! grep -Fxq "$BIND" "$HYPR_CONFIG_DIR/UserKeybinds.conf" 2>/dev/null; then echo "$BIND # ${KEYBINDS[$BIND]}" >> "$HYPR_CONFIG_DIR/UserKeybinds.conf" echo "✅ Keybind hinzugefügt: ${KEYBINDS[$BIND]}" else echo "ℹ️ Keybind existiert bereits: ${KEYBINDS[$BIND]}" fi done # Standardvorlagen ablegen echo "📂 Standardvorlagen werden im Vorlagen-Ordner erstellt..." TEMPLATES_DIR="$HOME/Vorlagen" mkdir -p "$TEMPLATES_DIR" # Vorlagenliste declare -A TEMPLATES=( ["Textdokument.txt"]="Dies ist eine Standard-Textdatei." ["Markdown-Dokument.md"]="# Markdown-Vorlage\n\nHier beginnt dein Markdown-Dokument." ["Bash-Skript.sh"]="#!/bin/bash\n\necho 'Hello, world!'" ["Python-Skript.py"]='#!/usr/bin/env python3\n\nprint("Hello, world!")' ) for FILE in "${!TEMPLATES[@]}"; do TEMPLATE_PATH="$TEMPLATES_DIR/$FILE" if [[ ! -f "$TEMPLATE_PATH" ]]; then echo -e "${TEMPLATES[$FILE]}" > "$TEMPLATE_PATH" chmod +x "$TEMPLATE_PATH" # Falls Skript echo "✅ Vorlage erstellt: $FILE" else echo "ℹ️ Vorlage existiert bereits: $FILE" fi done echo "✅ Skript erfolgreich ausgeführt!"