2026-03-12 20:54:23 +01:00
|
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
|
2026-03-12 21:09:19 +01:00
|
|
|
|
LOG="$HOME/.local/state/firstboot-setup.log"
|
2026-03-13 13:05:04 +01:00
|
|
|
|
mkdir -p "$(dirname "$LOG")"
|
2026-03-12 20:54:23 +01:00
|
|
|
|
exec > >(tee -a "$LOG") 2>&1
|
|
|
|
|
|
|
2026-03-13 13:24:12 +01:00
|
|
|
|
# ------------------------------------------------------------
|
2026-03-13 13:05:04 +01:00
|
|
|
|
# Session check
|
2026-03-13 13:24:12 +01:00
|
|
|
|
# ------------------------------------------------------------
|
2026-03-13 13:05:04 +01:00
|
|
|
|
if [[ -z "${WAYLAND_DISPLAY:-}" && -z "${DISPLAY:-}" ]]; then
|
|
|
|
|
|
echo "Keine grafische Session verfügbar – breche ab."
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
2026-03-13 13:24:12 +01:00
|
|
|
|
# ------------------------------------------------------------
|
2026-03-14 11:08:57 +01:00
|
|
|
|
# Abbruchdialog
|
|
|
|
|
|
# Ja -> Wizard beenden
|
|
|
|
|
|
# Nein -> zurück zur aktuellen Liste (return 2)
|
2026-03-13 13:24:12 +01:00
|
|
|
|
# ------------------------------------------------------------
|
2026-03-12 20:54:23 +01:00
|
|
|
|
abort() {
|
2026-03-14 11:08:57 +01:00
|
|
|
|
if zenity --question \
|
2026-03-13 10:04:21 +01:00
|
|
|
|
--title="Setup abbrechen?" \
|
2026-03-13 13:05:04 +01:00
|
|
|
|
--text="<big><b>Setup abbrechen?</b></big>\n
|
2026-03-13 13:24:12 +01:00
|
|
|
|
Der Einrichtungs‑Assistent wird dann nicht erneut angezeigt.\n
|
|
|
|
|
|
Alle Anwendungen können jederzeit über den COSMIC‑Shop installiert oder entfernt werden.\n
|
2026-03-14 11:08:57 +01:00
|
|
|
|
Möchtest du den Setup‑Assistenten wirklich abbrechen?"
|
|
|
|
|
|
then
|
2026-03-13 13:24:12 +01:00
|
|
|
|
rm -f "$HOME/.config/firstboot/run"
|
|
|
|
|
|
systemctl --user disable firstboot-setup.service >/dev/null 2>&1 || true
|
2026-03-14 11:08:57 +01:00
|
|
|
|
exit 1
|
|
|
|
|
|
else
|
|
|
|
|
|
return 2
|
2026-03-13 13:24:12 +01:00
|
|
|
|
fi
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# ------------------------------------------------------------
|
|
|
|
|
|
# Helper
|
|
|
|
|
|
# ------------------------------------------------------------
|
2026-03-12 20:54:23 +01:00
|
|
|
|
ensure_flathub() {
|
|
|
|
|
|
flatpak remote-list --columns=name 2>/dev/null | grep -qx flathub || \
|
|
|
|
|
|
flatpak remote-add --if-not-exists flathub \
|
|
|
|
|
|
https://dl.flathub.org/repo/flathub.flatpakrepo
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-03-15 18:46:06 +01:00
|
|
|
|
flatpak_user_install() {
|
|
|
|
|
|
local remote="$1"
|
|
|
|
|
|
local app="$2"
|
|
|
|
|
|
|
|
|
|
|
|
export XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
|
|
|
|
|
|
|
|
|
|
|
|
if flatpak info --user "$app" >/dev/null 2>&1; then
|
|
|
|
|
|
echo "Flatpak (user) bereits installiert: $app"
|
|
|
|
|
|
return 0
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
echo "Installiere Flatpak (user): $app"
|
2026-03-15 23:05:27 +01:00
|
|
|
|
if ! flatpak install --user -y "$remote" "$app"; then
|
|
|
|
|
|
echo "WARNUNG: Flatpak-Installation fehlgeschlagen: $app"
|
|
|
|
|
|
fi
|
2026-03-15 18:46:06 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-03-13 13:24:12 +01:00
|
|
|
|
# ------------------------------------------------------------
|
|
|
|
|
|
# Zenity‑Checkliste
|
2026-03-14 11:08:57 +01:00
|
|
|
|
# OK -> stdout = Auswahl, return 0
|
|
|
|
|
|
# Cancel -> abort(); Nein => return 2
|
2026-03-13 13:24:12 +01:00
|
|
|
|
# ------------------------------------------------------------
|
2026-03-13 10:04:21 +01:00
|
|
|
|
choose_list() {
|
|
|
|
|
|
local title="$1"
|
|
|
|
|
|
local text="$2"
|
|
|
|
|
|
shift 2
|
|
|
|
|
|
|
2026-03-13 13:24:12 +01:00
|
|
|
|
if (( $# % 2 != 0 )); then
|
2026-03-13 13:34:41 +01:00
|
|
|
|
echo "choose_list: Ungerade Anzahl Argumente." >&2
|
2026-03-13 13:24:12 +01:00
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
local -a rows=()
|
|
|
|
|
|
while (( $# )); do
|
|
|
|
|
|
rows+=(FALSE "$1" "$2")
|
|
|
|
|
|
shift 2
|
|
|
|
|
|
done
|
|
|
|
|
|
|
2026-03-14 11:08:57 +01:00
|
|
|
|
local result
|
|
|
|
|
|
if result=$(zenity --list \
|
|
|
|
|
|
--title="$title" \
|
|
|
|
|
|
--text="$text" \
|
|
|
|
|
|
--width=800 \
|
|
|
|
|
|
--height=600 \
|
|
|
|
|
|
--checklist \
|
|
|
|
|
|
--column="Auswahl" \
|
|
|
|
|
|
--column="Anwendung" \
|
|
|
|
|
|
--column="Beschreibung" \
|
|
|
|
|
|
--separator="|" \
|
|
|
|
|
|
"${rows[@]}"); then
|
2026-03-15 17:56:09 +01:00
|
|
|
|
|
|
|
|
|
|
# WICHTIG: Alle Zeilen zusammenführen → eine einzige Zeile
|
|
|
|
|
|
echo "$result" | tr -d '\n'
|
2026-03-14 11:08:57 +01:00
|
|
|
|
return 0
|
|
|
|
|
|
else
|
|
|
|
|
|
abort
|
|
|
|
|
|
return 2
|
|
|
|
|
|
fi
|
2026-03-13 10:04:21 +01:00
|
|
|
|
}
|
2026-03-12 20:54:23 +01:00
|
|
|
|
|
2026-03-13 13:24:12 +01:00
|
|
|
|
# ------------------------------------------------------------
|
2026-03-13 13:05:04 +01:00
|
|
|
|
# Welcome
|
2026-03-13 13:24:12 +01:00
|
|
|
|
# ------------------------------------------------------------
|
2026-03-13 13:05:04 +01:00
|
|
|
|
zenity --info \
|
|
|
|
|
|
--title="Willkommen bei COSMIC" \
|
|
|
|
|
|
--text="<big><b>Willkommen bei COSMIC</b></big>\n
|
|
|
|
|
|
Dieser Assistent hilft dir beim Einstieg in dein System.\n
|
|
|
|
|
|
<b>Hinweise:</b>\n
|
2026-03-13 13:24:12 +01:00
|
|
|
|
• Alle Anwendungen können später jederzeit über den COSMIC‑Shop installiert oder entfernt werden.\n
|
2026-03-13 13:05:04 +01:00
|
|
|
|
• Der Assistent ist optional und erscheint nur einmal.\n
|
|
|
|
|
|
• Die Auswahl deckt gängige Anwendungen ab, aber nicht alles." \
|
|
|
|
|
|
|| abort
|
|
|
|
|
|
|
2026-03-13 13:24:12 +01:00
|
|
|
|
# ------------------------------------------------------------
|
2026-03-14 11:08:57 +01:00
|
|
|
|
# Auswahl-Runner
|
|
|
|
|
|
# return 0 -> weiter
|
|
|
|
|
|
# return 2 -> gleiche Liste erneut
|
2026-03-13 13:24:12 +01:00
|
|
|
|
# ------------------------------------------------------------
|
2026-03-14 11:08:57 +01:00
|
|
|
|
run_list() {
|
|
|
|
|
|
local varname="$1"
|
|
|
|
|
|
shift
|
|
|
|
|
|
|
|
|
|
|
|
while true; do
|
|
|
|
|
|
local result
|
|
|
|
|
|
if result=$(choose_list "$@"); then
|
|
|
|
|
|
printf -v "$varname" "%s" "$result"
|
|
|
|
|
|
break
|
|
|
|
|
|
else
|
|
|
|
|
|
local code=$?
|
2026-03-15 17:56:09 +01:00
|
|
|
|
[[ $code -eq 2 ]] && continue
|
2026-03-14 11:08:57 +01:00
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
done
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# ------------------------------------------------------------
|
|
|
|
|
|
# Listen
|
|
|
|
|
|
# ------------------------------------------------------------
|
2026-03-16 10:59:46 +01:00
|
|
|
|
run_list BROWSERS_LIST \
|
2026-03-13 10:04:21 +01:00
|
|
|
|
"Browser" \
|
2026-03-13 13:05:04 +01:00
|
|
|
|
"<big><b>Browser auswählen</b></big>\nWähle einen oder mehrere Webbrowser aus." \
|
2026-03-13 13:24:12 +01:00
|
|
|
|
firefox "Ausgewogen, weit verbreitet, guter Datenschutz" \
|
|
|
|
|
|
chromium "Schlank, schnell, Open‑Source‑Basis vieler Browser" \
|
2026-03-14 11:08:57 +01:00
|
|
|
|
brave "Starker Fokus auf Datenschutz und Werbeblockierung"
|
2026-03-12 20:54:23 +01:00
|
|
|
|
|
2026-03-16 10:59:46 +01:00
|
|
|
|
run_list OFFICE_LIST \
|
2026-03-13 13:34:41 +01:00
|
|
|
|
"Office & Dokumente" \
|
2026-03-13 13:24:12 +01:00
|
|
|
|
"<big><b>Office & Dokumente</b></big>\nAnwendungen für Büroarbeit und PDFs." \
|
|
|
|
|
|
libreoffice "Umfangreiche Office‑Suite für lokale Dokumente" \
|
|
|
|
|
|
onlyoffice "Moderne Oberfläche, hohe MS‑Office‑Kompatibilität" \
|
|
|
|
|
|
collabora "LibreOffice‑Technologie mit Fokus auf Zusammenarbeit" \
|
|
|
|
|
|
papers "Leichter PDF‑Viewer zum Lesen und Kommentieren" \
|
2026-03-14 11:08:57 +01:00
|
|
|
|
simplescan "Einfaches Scannen von Dokumenten und Bildern"
|
2026-03-12 20:54:23 +01:00
|
|
|
|
|
2026-03-16 10:59:46 +01:00
|
|
|
|
run_list GRAPHICS_LIST \
|
2026-03-13 13:34:41 +01:00
|
|
|
|
"Grafik & Kreativ" \
|
2026-03-13 13:24:12 +01:00
|
|
|
|
"<big><b>Grafik & Kreativ</b></big>\nWerkzeuge für Bildbearbeitung und Illustration." \
|
|
|
|
|
|
gimp "Leistungsstarke Bildbearbeitung für Fotos" \
|
|
|
|
|
|
krita "Digitale Malerei und Illustration" \
|
2026-03-14 11:08:57 +01:00
|
|
|
|
inkscape "Vektorgrafiken für Logos und Icons"
|
2026-03-12 20:54:23 +01:00
|
|
|
|
|
2026-03-16 10:59:46 +01:00
|
|
|
|
run_list MEDIA_LIST \
|
2026-03-13 13:34:41 +01:00
|
|
|
|
"Medien & Unterhaltung" \
|
2026-03-13 13:24:12 +01:00
|
|
|
|
"<big><b>Medien & Unterhaltung</b></big>\nAudio‑ und Video‑Wiedergabe." \
|
|
|
|
|
|
vlc "Spielt nahezu alle Audio‑ und Videoformate ab" \
|
|
|
|
|
|
showtime "Einfacher Videoplayer mit klarer Oberfläche" \
|
2026-03-14 11:08:57 +01:00
|
|
|
|
spotify "Streaming‑Dienst für Musik und Podcasts"
|
2026-03-12 20:54:23 +01:00
|
|
|
|
|
2026-03-16 10:59:46 +01:00
|
|
|
|
run_list AV_LIST \
|
2026-03-13 13:34:41 +01:00
|
|
|
|
"Audio & Video‑Bearbeitung" \
|
2026-03-13 13:24:12 +01:00
|
|
|
|
"<big><b>Audio & Video‑Bearbeitung</b></big>\nWerkzeuge für kreative Medienproduktion." \
|
|
|
|
|
|
shotcut "Einfacher Videoeditor für schnelle Projekte" \
|
|
|
|
|
|
kdenlive "Umfangreicher Videoeditor mit vielen Effekten" \
|
|
|
|
|
|
audacity "Aufnahme und Bearbeitung von Audio" \
|
2026-03-14 11:08:57 +01:00
|
|
|
|
ardour "Professionelle Audio‑Produktion"
|
2026-03-12 20:54:23 +01:00
|
|
|
|
|
2026-03-16 10:59:46 +01:00
|
|
|
|
run_list GAMES_LIST \
|
2026-03-13 10:04:21 +01:00
|
|
|
|
"Spiele" \
|
2026-03-13 13:24:12 +01:00
|
|
|
|
"<big><b>Spiele‑Plattformen</b></big>\nPlattformen für PC‑Spiele." \
|
|
|
|
|
|
steam "Große Spielebibliothek und Community‑Funktionen" \
|
2026-03-14 11:41:33 +01:00
|
|
|
|
lutris "Zentrale Verwaltung von Spielen aus vielen Quellen" \
|
|
|
|
|
|
sober "Spiele Roblox auf Linux"
|
2026-03-12 20:54:23 +01:00
|
|
|
|
|
2026-03-16 10:59:46 +01:00
|
|
|
|
run_list MAIL_LIST \
|
2026-03-13 13:24:12 +01:00
|
|
|
|
"E‑Mail" \
|
|
|
|
|
|
"<big><b>E‑Mail‑Programme</b></big>\nDesktop‑Clients für E‑Mail und Kalender." \
|
|
|
|
|
|
thunderbird "Leistungsstarker Mail‑Client mit Erweiterungen" \
|
|
|
|
|
|
geary "Schlanker Mail‑Client mit einfacher Bedienung" \
|
2026-03-14 11:08:57 +01:00
|
|
|
|
evolution "E‑Mail, Kalender und Kontakte in einer Anwendung"
|
2026-03-12 20:54:23 +01:00
|
|
|
|
|
2026-03-16 10:59:46 +01:00
|
|
|
|
run_list KI_LIST \
|
2026-03-14 11:41:33 +01:00
|
|
|
|
"Anwendungen für lokale KI" \
|
|
|
|
|
|
"<big><b>KI-Anwenungen</b></big>\nProgramme für lokale KI-Anwendungen" \
|
|
|
|
|
|
alpaca "All-In-One-Anwendung für lokale Chat- und RAG-Nutzung" \
|
|
|
|
|
|
gpt4all "All-In-One-Anwendung von NomicAI"
|
|
|
|
|
|
|
2026-03-16 10:59:46 +01:00
|
|
|
|
run_list DEV_LIST \
|
2026-03-13 10:04:21 +01:00
|
|
|
|
"Entwicklung" \
|
2026-03-13 13:24:12 +01:00
|
|
|
|
"<big><b>Entwicklung</b></big>\nWerkzeuge für Software‑Entwicklung." \
|
2026-03-14 11:08:57 +01:00
|
|
|
|
vscode "Beliebter Code‑Editor mit vielen Erweiterungen"
|
2026-03-12 20:54:23 +01:00
|
|
|
|
|
2026-03-16 10:59:46 +01:00
|
|
|
|
run_list SYSTEM_LIST \
|
2026-03-13 13:24:12 +01:00
|
|
|
|
"System‑Werkzeuge" \
|
|
|
|
|
|
"<big><b>System‑Werkzeuge</b></big>\nHilfsprogramme für Konfiguration und Verwaltung." \
|
2026-03-14 11:08:57 +01:00
|
|
|
|
flatseal "Verwaltung von Flatpak‑Berechtigungen"
|
2026-03-12 20:54:23 +01:00
|
|
|
|
|
2026-03-14 11:59:33 +01:00
|
|
|
|
if zenity --question \
|
|
|
|
|
|
--title="Homebrew installieren?" \
|
|
|
|
|
|
--width=500 \
|
|
|
|
|
|
--text="<big><b>Homebrew installieren?</b></big>\n
|
|
|
|
|
|
Homebrew ist ein Paketmanager für Kommandozeilen‑Werkzeuge.\n
|
|
|
|
|
|
Er eignet sich besonders für Entwickler und fortgeschrittene Nutzer.\n
|
|
|
|
|
|
\n
|
|
|
|
|
|
Möchtest du Homebrew installieren?"
|
|
|
|
|
|
then
|
|
|
|
|
|
echo "Installiere Homebrew (non‑interactive)…"
|
2026-03-16 11:17:42 +01:00
|
|
|
|
systemctl --user enable --now firstboot-brew-install@"$USER".service &
|
2026-03-15 23:03:00 +01:00
|
|
|
|
cosmic-term --bash -c "journalctl -fu firstboot-brew-install@$USER.service" &
|
2026-03-14 11:59:33 +01:00
|
|
|
|
else
|
|
|
|
|
|
echo "Homebrew wird nicht installiert."
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
if zenity --question \
|
|
|
|
|
|
--title="Automatische Updates aktivieren?" \
|
|
|
|
|
|
--width=500 \
|
|
|
|
|
|
--text="<big><b>Automatische System‑Updates</b></big>\n
|
|
|
|
|
|
Das System kann regelmäßig image‑basierte Updates automatisch installieren.\n
|
|
|
|
|
|
\n
|
|
|
|
|
|
Empfohlen für die meisten Nutzer.\n
|
|
|
|
|
|
\n
|
|
|
|
|
|
Möchtest du automatische Updates aktivieren?"
|
|
|
|
|
|
then
|
|
|
|
|
|
echo "Aktiviere automatische Updates…"
|
2026-03-14 15:07:02 +01:00
|
|
|
|
|
|
|
|
|
|
BOOTC_TIMER=$(systemctl list-unit-files \
|
|
|
|
|
|
| awk '/bootc-.*fetch.*apply.*updates.*\.timer/ {print $1; exit}')
|
|
|
|
|
|
|
|
|
|
|
|
if [ -n "$BOOTC_TIMER" ]; then
|
|
|
|
|
|
systemctl enable --now "$BOOTC_TIMER"
|
|
|
|
|
|
else
|
|
|
|
|
|
echo "Kein bootc Auto-Update Timer gefunden." >> /tmp/firstboot-debug.log
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
2026-03-14 11:59:33 +01:00
|
|
|
|
else
|
|
|
|
|
|
echo "Automatische Updates bleiben deaktiviert."
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
2026-03-13 13:24:12 +01:00
|
|
|
|
# ------------------------------------------------------------
|
2026-03-12 20:54:23 +01:00
|
|
|
|
# Installation
|
2026-03-13 13:24:12 +01:00
|
|
|
|
# ------------------------------------------------------------
|
2026-03-12 20:54:23 +01:00
|
|
|
|
ensure_flathub
|
|
|
|
|
|
|
|
|
|
|
|
(
|
2026-03-13 13:24:12 +01:00
|
|
|
|
echo "10"; echo "# Installiere Anwendungen…"
|
|
|
|
|
|
|
2026-03-16 10:59:46 +01:00
|
|
|
|
for b in ${BROWSERS_LIST//|/ }; do
|
2026-03-12 20:54:23 +01:00
|
|
|
|
case "$b" in
|
2026-03-15 18:46:06 +01:00
|
|
|
|
firefox) flatpak_user_install flathub org.mozilla.firefox ;;
|
|
|
|
|
|
chromium) flatpak_user_install flathub org.chromium.Chromium ;;
|
|
|
|
|
|
brave) flatpak_user_install flathub com.brave.Browser ;;
|
2026-03-12 20:54:23 +01:00
|
|
|
|
esac
|
|
|
|
|
|
done
|
|
|
|
|
|
|
2026-03-16 10:59:46 +01:00
|
|
|
|
for o in ${OFFICE_LIST//|/ }; do
|
2026-03-13 13:05:04 +01:00
|
|
|
|
case "$o" in
|
2026-03-15 18:46:06 +01:00
|
|
|
|
libreoffice) flatpak_user_install flathub org.libreoffice.LibreOffice ;;
|
|
|
|
|
|
onlyoffice) flatpak_user_install flathub org.onlyoffice.desktopeditors ;;
|
|
|
|
|
|
collabora) flatpak_user_install flathub com.collabora.Office ;;
|
|
|
|
|
|
papers) flatpak_user_install flathub org.gnome.Papers ;;
|
|
|
|
|
|
simplescan) flatpak_user_install flathub org.gnome.SimpleScan ;;
|
2026-03-13 13:05:04 +01:00
|
|
|
|
esac
|
|
|
|
|
|
done
|
2026-03-12 20:54:23 +01:00
|
|
|
|
|
2026-03-16 10:59:46 +01:00
|
|
|
|
for g in ${GRAPHICS_LIST//|/ }; do
|
2026-03-13 13:05:04 +01:00
|
|
|
|
case "$g" in
|
2026-03-15 18:46:06 +01:00
|
|
|
|
gimp) flatpak_user_install flathub org.gimp.GIMP ;;
|
|
|
|
|
|
krita) flatpak_user_install flathub org.kde.krita ;;
|
|
|
|
|
|
inkscape) flatpak_user_install flathub org.inkscape.Inkscape ;;
|
2026-03-13 13:05:04 +01:00
|
|
|
|
esac
|
|
|
|
|
|
done
|
2026-03-12 20:54:23 +01:00
|
|
|
|
|
2026-03-16 10:59:46 +01:00
|
|
|
|
for m in ${MEDIA_LIST//|/ }; do
|
2026-03-13 13:05:04 +01:00
|
|
|
|
case "$m" in
|
2026-03-15 18:46:06 +01:00
|
|
|
|
vlc) flatpak_user_install flathub org.videolan.VLC ;;
|
|
|
|
|
|
showtime) flatpak_user_install flathub org.gnome.Showtime ;;
|
|
|
|
|
|
spotify) flatpak_user_install flathub com.spotify.Client ;;
|
2026-03-13 13:05:04 +01:00
|
|
|
|
esac
|
|
|
|
|
|
done
|
2026-03-13 10:20:03 +01:00
|
|
|
|
|
2026-03-16 10:59:46 +01:00
|
|
|
|
for a in ${AV_LIST//|/ }; do
|
2026-03-13 13:05:04 +01:00
|
|
|
|
case "$a" in
|
2026-03-15 18:46:06 +01:00
|
|
|
|
shotcut) flatpak_user_install flathub org.shotcut.Shotcut ;;
|
|
|
|
|
|
kdenlive) flatpak_user_install flathub org.kde.kdenlive ;;
|
|
|
|
|
|
audacity) flatpak_user_install flathub org.audacityteam.Audacity ;;
|
|
|
|
|
|
ardour) flatpak_user_install flathub org.ardour.Ardour ;;
|
2026-03-13 13:05:04 +01:00
|
|
|
|
esac
|
|
|
|
|
|
done
|
2026-03-12 20:54:23 +01:00
|
|
|
|
|
2026-03-16 10:59:46 +01:00
|
|
|
|
for g in ${GAMES_LIST//|/ }; do
|
2026-03-13 13:05:04 +01:00
|
|
|
|
case "$g" in
|
2026-03-15 18:46:06 +01:00
|
|
|
|
steam) flatpak_user_install flathub com.valvesoftware.Steam ;;
|
|
|
|
|
|
lutris) flatpak_user_install flathub net.lutris.Lutris ;;
|
|
|
|
|
|
sober) flatpak_user_install flathub org.vinegarhq.Sober ;;
|
2026-03-13 13:05:04 +01:00
|
|
|
|
esac
|
|
|
|
|
|
done
|
2026-03-12 20:54:23 +01:00
|
|
|
|
|
2026-03-16 10:59:46 +01:00
|
|
|
|
for m in ${MAIL_LIST//|/ }; do
|
2026-03-13 13:05:04 +01:00
|
|
|
|
case "$m" in
|
2026-03-15 18:46:06 +01:00
|
|
|
|
thunderbird) flatpak_user_install flathub org.mozilla.Thunderbird ;;
|
|
|
|
|
|
geary) flatpak_user_install flathub org.gnome.Geary ;;
|
|
|
|
|
|
evolution) flatpak_user_install flathub org.gnome.Evolution ;;
|
2026-03-13 13:05:04 +01:00
|
|
|
|
esac
|
|
|
|
|
|
done
|
2026-03-12 20:54:23 +01:00
|
|
|
|
|
2026-03-16 10:59:46 +01:00
|
|
|
|
for m in ${KI_LIST//|/ }; do
|
2026-03-14 11:41:33 +01:00
|
|
|
|
case "$m" in
|
2026-03-15 18:46:06 +01:00
|
|
|
|
alpaca) flatpak_user_install flathub com.jeffser.Alpaca ;;
|
|
|
|
|
|
gpt4all) flatpak_user_install flathub io.gpt4all.gpt4all ;;
|
2026-03-14 11:41:33 +01:00
|
|
|
|
esac
|
|
|
|
|
|
done
|
|
|
|
|
|
|
2026-03-16 10:59:46 +01:00
|
|
|
|
for d in ${DEV_LIST//|/ }; do
|
2026-03-15 18:46:06 +01:00
|
|
|
|
[[ "$d" == vscode ]] && flatpak_user_install flathub com.visualstudio.code
|
2026-03-13 13:05:04 +01:00
|
|
|
|
done
|
2026-03-12 20:54:23 +01:00
|
|
|
|
|
2026-03-16 10:59:46 +01:00
|
|
|
|
for s in ${SYSTEM_LIST//|/ }; do
|
2026-03-15 18:46:06 +01:00
|
|
|
|
[[ "$s" == flatseal ]] && flatpak_user_install flathub com.github.tchx84.Flatseal
|
2026-03-13 13:05:04 +01:00
|
|
|
|
done
|
2026-03-12 20:54:23 +01:00
|
|
|
|
|
|
|
|
|
|
echo "100"; echo "# Fertig."
|
2026-03-13 10:04:21 +01:00
|
|
|
|
) | zenity --progress \
|
|
|
|
|
|
--title="Installation läuft" \
|
2026-03-13 13:24:12 +01:00
|
|
|
|
--text="Bitte warten…" \
|
2026-03-13 10:04:21 +01:00
|
|
|
|
--percentage=0 \
|
|
|
|
|
|
--auto-close
|
2026-03-12 20:54:23 +01:00
|
|
|
|
|
2026-03-13 13:24:12 +01:00
|
|
|
|
# ------------------------------------------------------------
|
|
|
|
|
|
# Wizard done
|
|
|
|
|
|
# ------------------------------------------------------------
|
2026-03-12 21:09:19 +01:00
|
|
|
|
rm -f "$HOME/.config/firstboot/run"
|
2026-03-13 13:24:12 +01:00
|
|
|
|
systemctl --user disable firstboot-setup.service >/dev/null 2>&1 || true
|
2026-03-12 21:09:19 +01:00
|
|
|
|
|
2026-03-13 10:04:21 +01:00
|
|
|
|
zenity --info \
|
|
|
|
|
|
--title="Fertig" \
|
2026-03-13 13:05:04 +01:00
|
|
|
|
--text="<big><b>Die Einrichtung ist abgeschlossen.</b></big>\n
|
2026-03-13 13:24:12 +01:00
|
|
|
|
Weitere Anwendungen kannst du jederzeit über den COSMIC‑Shop installieren.\n
|
|
|
|
|
|
Der Setup‑Assistent wird nicht erneut gestartet."
|