244 lines
8.0 KiB
Bash
Executable File
244 lines
8.0 KiB
Bash
Executable File
#!/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
|
|
|
|
# Überprüfen, ob Flatpak installiert ist
|
|
if ! command -v flatpak &>/dev/null; then
|
|
echo "❌ Fehler: Flatpak ist nicht installiert. Bitte installiere es und versuche es erneut."
|
|
exit 1
|
|
fi
|
|
|
|
# Flatpak Apps installieren (nur falls noch nicht als DEB installiert)
|
|
declare -A FLATPAK_APPS=(
|
|
["org.libreoffice.LibreOffice"]="LibreOffice"
|
|
["dev.vencord.Vesktop"]="Vesktop"
|
|
["eu.betterbird.Betterbird"]="Betterbird"
|
|
)
|
|
|
|
for APP in "${!FLATPAK_APPS[@]}"; do
|
|
if dpkg -l | grep -iq "${FLATPAK_APPS[$APP]}"; then
|
|
echo "✅ ${FLATPAK_APPS[$APP]} ist bereits als DEB-Paket installiert."
|
|
elif flatpak list | grep -q "$APP"; then
|
|
echo "✅ ${FLATPAK_APPS[$APP]} ist bereits als Flatpak installiert."
|
|
else
|
|
echo "🔄 Installiere ${FLATPAK_APPS[$APP]} als Flatpak..."
|
|
flatpak install -y flathub "$APP"
|
|
fi
|
|
done
|
|
|
|
# Dynamischen Vorlagen-Ordner ermitteln
|
|
TEMPLATE_DIR=$(xdg-user-dir TEMPLATES 2>/dev/null || echo "$HOME/Vorlagen")
|
|
mkdir -p "$TEMPLATE_DIR"
|
|
|
|
# Prüfen, ob LibreOffice als Flatpak installiert ist
|
|
if flatpak list | grep -q "org.libreoffice.LibreOffice"; then
|
|
LO_CMD="flatpak run org.libreoffice.LibreOffice"
|
|
elif command -v libreoffice &>/dev/null; then
|
|
LO_CMD="libreoffice"
|
|
else
|
|
echo "❌ Fehler: LibreOffice ist weder als Flatpak noch als DEB-Paket installiert."
|
|
exit 1
|
|
fi
|
|
|
|
# LibreOffice-Vorlagen erstellen, falls nicht vorhanden
|
|
if [[ ! -f "$TEMPLATE_DIR/LibreOffice-Writer.ott" ]]; then
|
|
echo "🔄 Erstelle LibreOffice Writer-Vorlage..."
|
|
$LO_CMD --headless --convert-to ott --outdir "$TEMPLATE_DIR" /dev/null
|
|
else
|
|
echo "✅ LibreOffice Writer-Vorlage ist bereits vorhanden."
|
|
fi
|
|
|
|
if [[ ! -f "$TEMPLATE_DIR/LibreOffice-Calc.ots" ]]; then
|
|
echo "🔄 Erstelle LibreOffice Calc-Vorlage..."
|
|
$LO_CMD --headless --convert-to ots --outdir "$TEMPLATE_DIR" /dev/null
|
|
else
|
|
echo "✅ LibreOffice Calc-Vorlage ist bereits vorhanden."
|
|
fi
|
|
|
|
# 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
|
|
echo "✅ Spotify ist bereits installiert."
|
|
else
|
|
echo "🔄 Installiere Spotify..."
|
|
|
|
if [[ ! -f "$SPOTIFY_KEY" ]]; then
|
|
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
|
|
|
|
# Spotify .desktop-Datei erstellen
|
|
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"
|
|
[Desktop Entry]
|
|
Name=Spotify
|
|
Exec=/usr/bin/spotify
|
|
Icon=spotify-client
|
|
Terminal=false
|
|
Type=Application
|
|
Categories=Audio;Music;
|
|
EOF
|
|
echo "✅ Spotify .desktop-Datei wurde erstellt."
|
|
else
|
|
echo "✅ Spotify .desktop-Datei ist bereits vorhanden."
|
|
fi
|
|
|
|
# Benötigte Abhängigkeiten prüfen und installieren
|
|
dependencies=(man fzf ripgrep awk w3m coreutils parallel)
|
|
for dep in "${dependencies[@]}"; do
|
|
if ! command -v "$dep" &>/dev/null; then
|
|
echo "🔄 Installiere $dep..."
|
|
sudo apt install -y "$dep"
|
|
else
|
|
echo "✅ $dep ist bereits installiert."
|
|
fi
|
|
|
|
done
|
|
|
|
# Tealdeer (tldr-Client) installieren
|
|
if ! command -v tldr &>/dev/null; then
|
|
echo "🔄 Installiere tealdeer..."
|
|
sudo apt install -y tealdeer
|
|
else
|
|
echo "✅ Tealdeer ist bereits installiert."
|
|
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"
|
|
fi
|
|
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"
|
|
fi
|
|
|
|
# Wikiman installieren, falls nicht vorhanden
|
|
if ! command -v wikiman &>/dev/null; then
|
|
echo "🔄 Installiere Wikiman..."
|
|
|
|
# Prüfen, ob `make` installiert ist
|
|
if ! command -v make &>/dev/null; then
|
|
echo "🔄 Installiere make..."
|
|
sudo apt install -y make
|
|
fi
|
|
|
|
git clone 'https://github.com/filiparag/wikiman' ~/wikiman
|
|
cd ~/wikiman || exit
|
|
|
|
# Die neueste stabile Version auschecken
|
|
git checkout "$(git describe --tags | cut -d'-' -f1)"
|
|
|
|
# Kompilieren und installieren
|
|
make all
|
|
sudo make install
|
|
|
|
# Cleanup
|
|
cd ..
|
|
rm -rf ~/wikiman
|
|
|
|
echo "✅ Wikiman wurde erfolgreich installiert!"
|
|
else
|
|
echo "✅ Wikiman ist bereits installiert."
|
|
fi
|
|
|
|
# Arch-Wiki für Wikiman installieren, falls nicht vorhanden
|
|
if ! wikiman -list | grep -q "arch"; then
|
|
echo "🔄 Installiere Arch Wiki für Wikiman..."
|
|
curl -L 'https://raw.githubusercontent.com/filiparag/wikiman/master/Makefile' -o 'wikiman-makefile'
|
|
make -f ./wikiman-makefile source-arch
|
|
sudo make -f ./wikiman-makefile source-install
|
|
sudo make -f ./wikiman-makefile clean
|
|
rm -f wikiman-makefile
|
|
else
|
|
echo "✅ Arch Wiki ist bereits installiert."
|
|
fi
|
|
|
|
echo "🔄 Installiere Standard-Programme..."
|
|
# Bildbetrachter
|
|
flatpak install flathub org.gnome.Loupe -y
|
|
xdg-mime default org.gnome.Loupe.desktop image/jpeg
|
|
xdg-mime default org.gnome.Loupe.desktop image/png
|
|
|
|
# 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
|
|
# Okular als Standard-PDF-Viewer setzen
|
|
xdg-mime default okularApplication_pdf.desktop application/pdf
|
|
# Betterbird als Standard-Mail-Programm setzen
|
|
xdg-mime default org.betterbird.Betterbird.desktop x-scheme-handler/mailto
|
|
|
|
# Simple Scan isntallieren
|
|
flatpak install flathub org.gnome.SimpleScan -y
|
|
# Festplattenbelegungsanalyse installieren
|
|
flatpak install flathub org.gnome.baobab -y
|
|
# Camera installieren
|
|
flatpak install flathub org.gnome.Snapshot -y
|
|
# Amberol (Musik-Player) installieren
|
|
flatpak install flathub io.bassi.Amberol -y
|
|
xdg-mime default io.bassi.Amberol.desktop audio/mpeg
|
|
xdg-mime default io.bassi.Amberol.desktop audio/x-wav
|
|
xdg-mime default io.bassi.Amberol.desktop audio/flac
|
|
xdg-mime default io.bassi.Amberol.desktop audio/ogg
|
|
|
|
# VLC-Media-Player installieren
|
|
flatpak install flathub org.videolan.VLC -y
|
|
# Protokolle installieren
|
|
flatpak install flathub org.gnome.Logs -y
|
|
# Schriftarten-Viewer
|
|
flatpak install flathub org.gnome.font-viewer -y
|
|
# Taschenrechner
|
|
flatpak install flathub org.gnome.Calculator -y
|
|
# Texteditor
|
|
flatpak install flathub org.gnome.TextEditor -y
|
|
xdg-mime default org.gnome.TextEditor.desktop text/plain
|
|
xdg-mime default org.gnome.TextEditor.desktop text/x-log
|
|
xdg-mime default org.gnome.TextEditor.desktop text/markdown
|
|
|
|
# Ente Authenticator
|
|
flatpak install flathub io.ente.auth -y
|
|
# Cartridges (Gaming)
|
|
flatpak install flathub page.kramo.Cartridges -y
|
|
# Decoder (QR-Code)
|
|
flatpak install flathub com.belmoussaoui.Decoder -y
|
|
# Fragments (Torrent)
|
|
flatpak install flathub de.haeckerfelix.Fragments -y
|
|
# Impressions (Bootsticks)
|
|
flatpak install flathub io.gitlab.adhami3310.Impression -y
|
|
# Ressources (Task-Manager)
|
|
flatpak install flathub net.nokyan.Resources -y
|
|
# Secrets
|
|
flatpak install flathub org.gnome.World.Secrets -y
|
|
# Archivverwaltung
|
|
flatpak install flathub org.gnome.FileRoller -y
|
|
|
|
echo "🔄 Installiere VeraCrypt..."
|
|
sudo add-apt-repository ppa:unit193/encryption -y
|
|
sudo apt update
|
|
sudo apt install -y veracrypt
|
|
|
|
echo "✅ Alle Programme wurden erfolgreich installiert!"
|