Compare commits
4 Commits
b060d846bd
...
f37f91ead9
| Author | SHA1 | Date | |
|---|---|---|---|
| f37f91ead9 | |||
| b99c581121 | |||
| 3e6d201d82 | |||
| bca4c0832d |
34
.gitignore
vendored
Normal file
34
.gitignore
vendored
Normal file
@ -0,0 +1,34 @@
|
||||
# Ignore macOS system files
|
||||
.DS_Store
|
||||
|
||||
# Ignore swap files created by editors
|
||||
*.swp
|
||||
*.swo
|
||||
|
||||
# Ignore temporary bash script files
|
||||
*.tmp
|
||||
*.bak
|
||||
|
||||
# Ignore log files
|
||||
*.log
|
||||
|
||||
# Ignore compiled binary files
|
||||
*.out
|
||||
*.o
|
||||
|
||||
# Ignore user settings files
|
||||
*.env
|
||||
*.conf
|
||||
|
||||
# Ignore core dumps
|
||||
core
|
||||
|
||||
# Ignore backup files created by editors
|
||||
*~
|
||||
|
||||
# Ignore directories
|
||||
/temp/
|
||||
.cache/
|
||||
.logs/
|
||||
|
||||
.fleet
|
||||
@ -11,6 +11,21 @@ if [[ $EUID -ne 0 ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# === Hilfe-Seite ===
|
||||
if [[ "$*" == *"-h"* ]]; then
|
||||
echo "Benutzung: $0 <DEVICE_MAC> <DEVICE_IP> <WEBDAV_URL> <NFS_PATH>"
|
||||
echo
|
||||
echo "Optionen:"
|
||||
echo " -h Zeigt diese Hilfenachricht an"
|
||||
echo " DEVICE_MAC Die MAC-Adresse des Geräts"
|
||||
echo " DEVICE_IP Die IP-Adresse des Geräts"
|
||||
echo " WEBDAV_URL Die WebDAV-URL des Dateisystems"
|
||||
echo " NFS_PATH Der NFS-Pfad des Dateisystems"
|
||||
echo
|
||||
echo "Folgende Pakete müssen installiert sein: davfs2, nfs-common, wakeonlan, wget"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# === PARAMETER-ÜBERPRÜFUNG ===
|
||||
if [[ "$#" -ne 4 ]]; then
|
||||
echo "Benutzung: $0 <DEVICE_MAC> <DEVICE_IP> <WEBDAV_URL> <NFS_PATH>"
|
||||
|
||||
36
README.md
36
README.md
@ -1,2 +1,38 @@
|
||||
# Skripte
|
||||
|
||||
## Übersicht
|
||||
|
||||
Dieses Repository enthält Skripte und Ressourcen zur Automatisierung,
|
||||
Datenverarbeitung und anderen Aufgaben.
|
||||
|
||||
## Verzeichnisstruktur
|
||||
|
||||
- **Skripte**: Enthält alle relevanten Skripte für verschiedene Prozesse und Anwendungen.
|
||||
- **Mount**: Enthält Skripte zum mounten von Dateisytemen und Cloudsanbietern.
|
||||
- **Setup**: Enthält Skripte um einen Rechner aufzusetzen.
|
||||
- **Utility**: Enthält Utility-Skripte und Funktionen, die in anderen Skripten eingebunden werden können.
|
||||
|
||||
## Anforderungen
|
||||
|
||||
Um die Skripte in diesem Repository auszuführen, stelle sicher, dass die folgenden Voraussetzungen erfüllt sind:
|
||||
|
||||
- Die Skripte sind als bash-Skripte konzipiert.
|
||||
- Für die Skripte müssen u.a. Pakete installiert werden. Informationen dazu gibt es in den Skripten.
|
||||
- Die Skripte sind hautsächlich für Linux entwickelt.
|
||||
|
||||
## Nutzung
|
||||
|
||||
1. Klone das Repository:
|
||||
```bash
|
||||
git clone https://gitea.creative-dragonslayer.de/DragonSlayer_14/Skripte.git
|
||||
```
|
||||
2. Navigiere in das Verzeichnis `Skripte`, um die ausführbaren Dateien und Ressourcen zu finden.
|
||||
3. Folge den spezifischen Anweisungen in einzelnen Dateien oder Skripten für die korrekte Ausführung.
|
||||
|
||||
## Lizenz
|
||||
|
||||
Dieses Projekt steht unter einer Open-Source-Lizenz. Weitere Informationen findest du in der Datei `LICENSE`.
|
||||
|
||||
## Autor
|
||||
|
||||
Erstellt und gepflegt von DragonSlayer_14.
|
||||
@ -11,35 +11,35 @@ apt install -y git sudo
|
||||
|
||||
# Der Code, der eingefügt werden soll
|
||||
CONFIG_BLOCK='if groups | grep -q "\bsudo\b"; then
|
||||
case ":$PATH:" in
|
||||
*":/sbin:"*) ;;
|
||||
*) export PATH="$PATH:/sbin" ;;
|
||||
esac
|
||||
case ":$PATH:" in
|
||||
*":/usr/sbin:"*) ;;
|
||||
*) export PATH="$PATH:/usr/sbin" ;;
|
||||
esac
|
||||
case ":$PATH:" in
|
||||
*":/sbin:"*) ;;
|
||||
*) export PATH="$PATH:/sbin" ;;
|
||||
esac
|
||||
case ":$PATH:" in
|
||||
*":/usr/sbin:"*) ;;
|
||||
*) export PATH="$PATH:/usr/sbin" ;;
|
||||
esac
|
||||
fi'
|
||||
|
||||
# Saubere Lösung über /etc/profile.d/
|
||||
echo "$CONFIG_BLOCK" > /etc/profile.d/custom_path.sh
|
||||
echo "$CONFIG_BLOCK" >/etc/profile.d/custom_path.sh
|
||||
|
||||
# Sudo-Hinweis für bash.bashrc
|
||||
SUDO_HINT_BLOCK='# sudo hint
|
||||
if [ ! -e "$HOME/.sudo_as_admin_successful" ] && [ ! -e "$HOME/.hushlogin" ] ; then
|
||||
case " $(groups) " in *\ admin\ *|*\ sudo\ *)
|
||||
if [ -x /usr/bin/sudo ]; then
|
||||
cat <<-EOF
|
||||
To run a command as administrator (user "root"), use "sudo <command>".
|
||||
See "man sudo_root" for details.
|
||||
EOF
|
||||
fi
|
||||
esac
|
||||
case " $(groups) " in *\ admin\ *|*\ sudo\ *)
|
||||
if [ -x /usr/bin/sudo ]; then
|
||||
cat <<-EOF
|
||||
To run a command as administrator (user "root"), use "sudo <command>".
|
||||
See "man sudo_root" for details.
|
||||
EOF
|
||||
fi
|
||||
esac
|
||||
fi'
|
||||
|
||||
# Prüfen, ob der sudo-Hinweis bereits existiert
|
||||
if ! grep -Fxq "# sudo hint" /etc/bash.bashrc; then
|
||||
echo -e "\n$SUDO_HINT_BLOCK" | tee -a /etc/bash.bashrc > /dev/null
|
||||
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."
|
||||
|
||||
@ -16,9 +16,9 @@ fi
|
||||
|
||||
# Flatpak Apps installieren (nur falls noch nicht als DEB installiert)
|
||||
declare -A FLATPAK_APPS=(
|
||||
["org.libreoffice.LibreOffice"]="LibreOffice"
|
||||
["dev.vencord.Vesktop"]="Vesktop"
|
||||
["org.mozilla.Thunderbird"]="Thunderbird"
|
||||
["org.libreoffice.LibreOffice"]="LibreOffice"
|
||||
["dev.vencord.Vesktop"]="Vesktop"
|
||||
["org.mozilla.Thunderbird"]="Thunderbird"
|
||||
)
|
||||
|
||||
for APP in "${!FLATPAK_APPS[@]}"; do
|
||||
@ -34,7 +34,7 @@ for APP in "${!FLATPAK_APPS[@]}"; do
|
||||
done
|
||||
|
||||
# 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"
|
||||
|
||||
# Prüfen, ob LibreOffice als Flatpak installiert ist
|
||||
@ -92,7 +92,7 @@ SPOTIFY_DESKTOP_FILE="$HOME/.local/share/applications/spotify.desktop"
|
||||
mkdir -p "$HOME/.local/share/applications"
|
||||
if [[ ! -f "$SPOTIFY_DESKTOP_FILE" ]]; then
|
||||
echo "🔄 Erstelle Spotify .desktop-Datei..."
|
||||
cat <<EOF > "$SPOTIFY_DESKTOP_FILE"
|
||||
cat <<EOF >"$SPOTIFY_DESKTOP_FILE"
|
||||
[Desktop Entry]
|
||||
Name=Spotify
|
||||
Exec=/usr/bin/spotify
|
||||
@ -129,13 +129,13 @@ fi
|
||||
# tealdeer Autoupdate konfigurieren
|
||||
TEALDEER_CONFIG=~/.config/tealdeer/config.toml
|
||||
mkdir -p ~/.config/tealdeer
|
||||
if ! grep -q "\[updates\]" "$TEALDEER_CONFIG" 2>/dev/null; then
|
||||
echo -e "\n[updates]" >> "$TEALDEER_CONFIG"
|
||||
if ! grep -q "\[updates\]" "$TEALDEER_CONFIG" 2 >/dev/null; then
|
||||
echo -e "\n[updates]" >>"$TEALDEER_CONFIG"
|
||||
fi
|
||||
if grep -q "^auto_update" "$TEALDEER_CONFIG" 2>/dev/null; then
|
||||
if grep -q "^auto_update" "$TEALDEER_CONFIG" 2 >/dev/null; then
|
||||
sed -i 's/^auto_update.*/auto_update = true/' "$TEALDEER_CONFIG"
|
||||
else
|
||||
echo "auto_update = true" >> "$TEALDEER_CONFIG"
|
||||
echo "auto_update = true" >>"$TEALDEER_CONFIG"
|
||||
fi
|
||||
|
||||
# Wikiman installieren, falls nicht vorhanden
|
||||
|
||||
@ -28,7 +28,7 @@ if grep -q "^$USER_NAME:" /etc/passwd; then
|
||||
else
|
||||
# Neuen Eintrag hinzufügen
|
||||
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."
|
||||
fi
|
||||
|
||||
@ -53,7 +53,7 @@ rm -rf "$REPO_DIR"
|
||||
|
||||
# /etc/profile in /etc/zsh/zprofile einfügen, falls nicht bereits vorhanden
|
||||
if ! grep -q "source /etc/profile" /etc/zsh/zprofile; then
|
||||
echo "source /etc/profile" >> /etc/zsh/zprofile
|
||||
echo "source /etc/profile" >>/etc/zsh/zprofile
|
||||
echo "🔧 'source /etc/profile' wurde in /etc/zsh/zprofile hinzugefügt."
|
||||
else
|
||||
echo "ℹ️ 'source /etc/profile' ist bereits in /etc/zsh/zprofile vorhanden."
|
||||
|
||||
@ -16,11 +16,11 @@ if [[ -f "$SDDM_CUSTOM_CONF" ]]; then
|
||||
sed -i '/MaximumUid/d' "$SDDM_CUSTOM_CONF"
|
||||
sed -i '/MinimumUid/d' "$SDDM_CUSTOM_CONF"
|
||||
sed -i '/HideShells/d' "$SDDM_CUSTOM_CONF"
|
||||
echo "MaximumUid=9999999999" >> "$SDDM_CUSTOM_CONF"
|
||||
echo "MinimumUid=1000" >> "$SDDM_CUSTOM_CONF"
|
||||
echo "HideShells=/sbin/nologin,/bin/false,/usr/sbin/nologin" >> "$SDDM_CUSTOM_CONF"
|
||||
echo "MaximumUid=9999999999" >>"$SDDM_CUSTOM_CONF"
|
||||
echo "MinimumUid=1000" >>"$SDDM_CUSTOM_CONF"
|
||||
echo "HideShells=/sbin/nologin,/bin/false,/usr/sbin/nologin" >>"$SDDM_CUSTOM_CONF"
|
||||
else
|
||||
cat <<EOF > "$SDDM_CUSTOM_CONF"
|
||||
cat <<EOF >"$SDDM_CUSTOM_CONF"
|
||||
[Users]
|
||||
MaximumUid=9999999999
|
||||
MinimumUid=1000
|
||||
@ -34,7 +34,7 @@ if [[ -f "$SSSD_CONF" ]]; then
|
||||
if grep -q "^enumerate" "$SSSD_CONF"; then
|
||||
sed -i 's/^enumerate.*/enumerate = false/' "$SSSD_CONF"
|
||||
else
|
||||
echo "enumerate = false" >> "$SSSD_CONF"
|
||||
echo "enumerate = false" >>"$SSSD_CONF"
|
||||
fi
|
||||
# Berechtigungen für SSSD-Konfigurationsdatei setzen
|
||||
chmod 600 "$SSSD_CONF"
|
||||
|
||||
@ -19,11 +19,11 @@ sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flat
|
||||
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
|
||||
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
|
||||
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
|
||||
|
||||
@ -33,14 +33,14 @@ 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"
|
||||
["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"
|
||||
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]}"
|
||||
@ -54,16 +54,16 @@ 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!")'
|
||||
["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"
|
||||
echo -e "${TEMPLATES[$FILE]}" >"$TEMPLATE_PATH"
|
||||
chmod +x "$TEMPLATE_PATH" # Falls Skript
|
||||
echo "✅ Vorlage erstellt: $FILE"
|
||||
else
|
||||
|
||||
@ -21,7 +21,7 @@ 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"
|
||||
echo 'HOOKS=(base udev plymouth autodetect modconf block encrypt lvm2 filesystems keyboard fsck)' >>"$MKINIT_CONF"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -51,7 +51,7 @@ if grep -q "^GRUB_CMDLINE_LINUX_DEFAULT=.*" "$GRUB_CFG"; then
|
||||
echo "🔄 GRUB wird aktualisiert..."
|
||||
update-grub
|
||||
else
|
||||
echo "GRUB_CMDLINE_LINUX_DEFAULT=\"$NEW_CMDLINE\"" >> "$GRUB_CFG"
|
||||
echo "GRUB_CMDLINE_LINUX_DEFAULT=\"$NEW_CMDLINE\"" >>"$GRUB_CFG"
|
||||
echo "🔄 GRUB wird aktualisiert..."
|
||||
update-grub
|
||||
fi
|
||||
|
||||
@ -24,10 +24,10 @@ 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"
|
||||
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
|
||||
echo "deb [signed-by=$LUTRIS_KEYRING] $LUTRIS_REPO ./" >/etc/apt/sources.list.d/lutris.list
|
||||
|
||||
apt update
|
||||
apt install -y lutris
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user