Refactor firstboot-setup.sh for clarity and updates
This commit is contained in:
@@ -5,47 +5,49 @@ LOG="$HOME/.local/state/firstboot-setup.log"
|
|||||||
mkdir -p "$(dirname "$LOG")"
|
mkdir -p "$(dirname "$LOG")"
|
||||||
exec > >(tee -a "$LOG") 2>&1
|
exec > >(tee -a "$LOG") 2>&1
|
||||||
|
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
# Session check
|
# Session check
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
if [[ -z "${WAYLAND_DISPLAY:-}" && -z "${DISPLAY:-}" ]]; then
|
if [[ -z "${WAYLAND_DISPLAY:-}" && -z "${DISPLAY:-}" ]]; then
|
||||||
echo "Keine grafische Session verfügbar – breche ab."
|
echo "Keine grafische Session verfügbar – breche ab."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
# Cleanup trap (nur bei Fehlern)
|
# Globaler Abbruch – beendet den Wizard vollständig
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
cleanup() {
|
|
||||||
local code=$?
|
|
||||||
if [[ $code -ne 0 ]]; then
|
|
||||||
echo "Wizard abgebrochen oder mit Fehler beendet (Exitcode: $code)."
|
|
||||||
rm -f "$HOME/.config/firstboot/run"
|
|
||||||
systemctl --user disable firstboot-setup.service || true
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
trap cleanup EXIT
|
|
||||||
|
|
||||||
# ----------------------------
|
|
||||||
# Abort dialog
|
|
||||||
# ----------------------------
|
|
||||||
abort() {
|
abort() {
|
||||||
local code=$?
|
echo "Abbruch durch Benutzer."
|
||||||
echo "Abort ausgelöst (Exitcode: $code)."
|
|
||||||
|
|
||||||
zenity --question \
|
zenity --question \
|
||||||
--title="Setup abbrechen?" \
|
--title="Setup abbrechen?" \
|
||||||
--text="<big><b>Setup abbrechen?</b></big>\n
|
--text="<big><b>Setup abbrechen?</b></big>\n
|
||||||
Der Einrichtungs-Assistent wird dann nicht erneut angezeigt.\n
|
Der Einrichtungs‑Assistent wird dann nicht erneut angezeigt.\n
|
||||||
Alle Anwendungen können jederzeit über den COSMIC-Shop installiert oder entfernt werden.\n
|
Alle Anwendungen können jederzeit über den COSMIC‑Shop installiert oder entfernt werden.\n
|
||||||
Möchtest du den Setup-Assistenten wirklich abbrechen?" || return 0
|
Möchtest du den Setup‑Assistenten wirklich abbrechen?" \
|
||||||
|
>/dev/null 2>&1 || true
|
||||||
|
|
||||||
|
rm -f "$HOME/.config/firstboot/run"
|
||||||
|
systemctl --user disable firstboot-setup.service >/dev/null 2>&1 || true
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
# Helper functions
|
# Cleanup bei Fehlern
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
|
cleanup() {
|
||||||
|
local code=$?
|
||||||
|
if [[ $code -ne 0 ]]; then
|
||||||
|
echo "Wizard mit Fehler beendet (Exitcode: $code)."
|
||||||
|
rm -f "$HOME/.config/firstboot/run"
|
||||||
|
systemctl --user disable firstboot-setup.service >/dev/null 2>&1 || true
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
trap cleanup EXIT
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Helper
|
||||||
|
# ------------------------------------------------------------
|
||||||
ensure_flathub() {
|
ensure_flathub() {
|
||||||
flatpak remote-list --columns=name 2>/dev/null | grep -qx flathub || \
|
flatpak remote-list --columns=name 2>/dev/null | grep -qx flathub || \
|
||||||
flatpak remote-add --if-not-exists flathub \
|
flatpak remote-add --if-not-exists flathub \
|
||||||
@@ -54,7 +56,8 @@ ensure_flathub() {
|
|||||||
|
|
||||||
install_brew_and_setup_path() {
|
install_brew_and_setup_path() {
|
||||||
if ! command -v brew >/dev/null 2>&1; then
|
if ! command -v brew >/dev/null 2>&1; then
|
||||||
NONINTERACTIVE=1 CI=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
NONINTERACTIVE=1 CI=1 /bin/bash -c \
|
||||||
|
"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local BREW_PREFIX="/home/linuxbrew/.linuxbrew"
|
local BREW_PREFIX="/home/linuxbrew/.linuxbrew"
|
||||||
@@ -73,149 +76,162 @@ install_brew_and_setup_path() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Zenity‑Checkliste
|
||||||
|
# Erwartet Paare: id "beschreibung"
|
||||||
|
# ------------------------------------------------------------
|
||||||
choose_list() {
|
choose_list() {
|
||||||
local title="$1"
|
local title="$1"
|
||||||
local text="$2"
|
local text="$2"
|
||||||
shift 2
|
shift 2
|
||||||
|
|
||||||
|
if (( $# % 2 != 0 )); then
|
||||||
|
echo "choose_list: Ungerade Anzahl Argumente (id/beschreibung Paare erwartet)." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local -a rows=()
|
||||||
|
while (( $# )); do
|
||||||
|
rows+=(FALSE "$1" "$2")
|
||||||
|
shift 2
|
||||||
|
done
|
||||||
|
|
||||||
local result
|
local result
|
||||||
result=$(zenity --list \
|
result=$(zenity --list \
|
||||||
--title="$title" \
|
--title="$title" \
|
||||||
--text="$text" \
|
--text="$text" \
|
||||||
--checklist \
|
--checklist \
|
||||||
--column="Auswahl" \
|
--column="Auswahl" \
|
||||||
--column="ID" \
|
--column="Anwendung" \
|
||||||
--column="Beschreibung" \
|
--column="Beschreibung" \
|
||||||
FALSE "$@" \
|
|
||||||
--separator="|" \
|
--separator="|" \
|
||||||
|
"${rows[@]}" \
|
||||||
) || abort
|
) || abort
|
||||||
|
|
||||||
echo "${result:-}"
|
echo "${result:-}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
# Welcome
|
# Welcome
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
zenity --info \
|
zenity --info \
|
||||||
--title="Willkommen bei COSMIC" \
|
--title="Willkommen bei COSMIC" \
|
||||||
--text="<big><b>Willkommen bei COSMIC</b></big>\n
|
--text="<big><b>Willkommen bei COSMIC</b></big>\n
|
||||||
Dieser Assistent hilft dir beim Einstieg in dein System.\n
|
Dieser Assistent hilft dir beim Einstieg in dein System.\n
|
||||||
<b>Hinweise:</b>\n
|
<b>Hinweise:</b>\n
|
||||||
• Alle Anwendungen können später jederzeit über den COSMIC-Shop installiert oder entfernt werden.\n
|
• Alle Anwendungen können später jederzeit über den COSMIC‑Shop installiert oder entfernt werden.\n
|
||||||
• Der Assistent ist optional und erscheint nur einmal.\n
|
• Der Assistent ist optional und erscheint nur einmal.\n
|
||||||
• Die Auswahl deckt gängige Anwendungen ab, aber nicht alles." \
|
• Die Auswahl deckt gängige Anwendungen ab, aber nicht alles." \
|
||||||
|| abort
|
|| abort
|
||||||
|
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
# Auswahl
|
# Auswahl
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
BROWSERS=$(choose_list \
|
BROWSERS=$(choose_list \
|
||||||
"Browser" \
|
"Browser" \
|
||||||
"<big><b>Browser auswählen</b></big>\nWähle einen oder mehrere Webbrowser aus." \
|
"<big><b>Browser auswählen</b></big>\nWähle einen oder mehrere Webbrowser aus." \
|
||||||
firefox "Mozilla Firefox (empfohlen)" \
|
firefox "Ausgewogen, weit verbreitet, guter Datenschutz" \
|
||||||
chromium "Chromium (Open-Source Basis)" \
|
chromium "Schlank, schnell, Open‑Source‑Basis vieler Browser" \
|
||||||
brave "Brave (datenschutzorientiert)" \
|
brave "Starker Fokus auf Datenschutz und Werbeblockierung" \
|
||||||
)
|
)
|
||||||
|
|
||||||
OFFICE=$(choose_list \
|
OFFICE=$(choose_list \
|
||||||
"Office & Dokumente" \
|
"Office & Dokumente" \
|
||||||
"<big><b>Office & Dokumente</b></big>\nWähle Anwendungen für Büroarbeit und PDFs." \
|
"<big><b>Office & Dokumente</b></big>\nAnwendungen für Büroarbeit und PDFs." \
|
||||||
libreoffice "LibreOffice (Office-Suite)" \
|
libreoffice "Umfangreiche Office‑Suite für lokale Dokumente" \
|
||||||
onlyoffice "OnlyOffice (MS-Office-ähnlich)" \
|
onlyoffice "Moderne Oberfläche, hohe MS‑Office‑Kompatibilität" \
|
||||||
collabora "Collabora Office" \
|
collabora "LibreOffice‑Technologie mit Fokus auf Zusammenarbeit" \
|
||||||
papers "Papers (PDF-Viewer)" \
|
papers "Leichter PDF‑Viewer zum Lesen und Kommentieren" \
|
||||||
simplescan "Simple Scan" \
|
simplescan "Einfaches Scannen von Dokumenten und Bildern" \
|
||||||
)
|
)
|
||||||
|
|
||||||
GRAPHICS=$(choose_list \
|
GRAPHICS=$(choose_list \
|
||||||
"Grafik & Kreativ" \
|
"Grafik & Kreativ" \
|
||||||
"<big><b>Grafik & Kreativ</b></big>\nWerkzeuge für Bildbearbeitung und Illustration." \
|
"<big><b>Grafik & Kreativ</b></big>\nWerkzeuge für Bildbearbeitung und Illustration." \
|
||||||
gimp "GIMP" \
|
gimp "Leistungsstarke Bildbearbeitung für Fotos" \
|
||||||
krita "Krita" \
|
krita "Digitale Malerei und Illustration" \
|
||||||
inkscape "Inkscape" \
|
inkscape "Vektorgrafiken für Logos und Icons" \
|
||||||
)
|
)
|
||||||
|
|
||||||
MEDIA=$(choose_list \
|
MEDIA=$(choose_list \
|
||||||
"Medien & Unterhaltung" \
|
"Medien & Unterhaltung" \
|
||||||
"<big><b>Medien & Unterhaltung</b></big>\nAudio- und Video-Wiedergabe." \
|
"<big><b>Medien & Unterhaltung</b></big>\nAudio‑ und Video‑Wiedergabe." \
|
||||||
vlc "VLC Media Player" \
|
vlc "Spielt nahezu alle Audio‑ und Videoformate ab" \
|
||||||
showtime "Gnome Video Player" \
|
showtime "Einfacher Videoplayer mit klarer Oberfläche" \
|
||||||
spotify "Spotify Client" \
|
spotify "Streaming‑Dienst für Musik und Podcasts" \
|
||||||
)
|
)
|
||||||
|
|
||||||
AV=$(choose_list \
|
AV=$(choose_list \
|
||||||
"Audio & Video-Bearbeitung" \
|
"Audio & Video‑Bearbeitung" \
|
||||||
"<big><b>Audio & Video-Bearbeitung</b></big>\nWerkzeuge für kreative Medienproduktion." \
|
"<big><b>Audio & Video‑Bearbeitung</b></big>\nWerkzeuge für kreative Medienproduktion." \
|
||||||
shotcut "Shotcut" \
|
shotcut "Einfacher Videoeditor für schnelle Projekte" \
|
||||||
kdenlive "Kdenlive" \
|
kdenlive "Umfangreicher Videoeditor mit vielen Effekten" \
|
||||||
audacity "Audacity" \
|
audacity "Aufnahme und Bearbeitung von Audio" \
|
||||||
ardour "Ardour" \
|
ardour "Professionelle Audio‑Produktion" \
|
||||||
)
|
)
|
||||||
|
|
||||||
GAMES=$(choose_list \
|
GAMES=$(choose_list \
|
||||||
"Spiele" \
|
"Spiele" \
|
||||||
"<big><b>Spiele-Plattformen</b></big>\nWähle Plattformen für PC-Spiele." \
|
"<big><b>Spiele‑Plattformen</b></big>\nPlattformen für PC‑Spiele." \
|
||||||
steam "Steam" \
|
steam "Große Spielebibliothek und Community‑Funktionen" \
|
||||||
lutris "Lutris" \
|
lutris "Zentrale Verwaltung von Spielen aus vielen Quellen" \
|
||||||
)
|
)
|
||||||
|
|
||||||
MAIL=$(choose_list \
|
MAIL=$(choose_list \
|
||||||
"E-Mail" \
|
"E‑Mail" \
|
||||||
"<big><b>E-Mail-Programme</b></big>\nWähle einen oder mehrere Mail-Clients." \
|
"<big><b>E‑Mail‑Programme</b></big>\nDesktop‑Clients für E‑Mail und Kalender." \
|
||||||
thunderbird "Thunderbird" \
|
thunderbird "Leistungsstarker Mail‑Client mit Erweiterungen" \
|
||||||
geary "Geary" \
|
geary "Schlanker Mail‑Client mit einfacher Bedienung" \
|
||||||
evolution "Evolution" \
|
evolution "E‑Mail, Kalender und Kontakte in einer Anwendung" \
|
||||||
)
|
)
|
||||||
|
|
||||||
DEV=$(choose_list \
|
DEV=$(choose_list \
|
||||||
"Entwicklung" \
|
"Entwicklung" \
|
||||||
"<big><b>Entwicklung</b></big>\nWerkzeuge für Software-Entwicklung." \
|
"<big><b>Entwicklung</b></big>\nWerkzeuge für Software‑Entwicklung." \
|
||||||
vscode "Visual Studio Code" \
|
vscode "Beliebter Code‑Editor mit vielen Erweiterungen" \
|
||||||
)
|
)
|
||||||
|
|
||||||
SYSTEM=$(choose_list \
|
SYSTEM=$(choose_list \
|
||||||
"System-Werkzeuge" \
|
"System‑Werkzeuge" \
|
||||||
"<big><b>System-Werkzeuge</b></big>\nHilfsprogramme für Konfiguration und Verwaltung." \
|
"<big><b>System‑Werkzeuge</b></big>\nHilfsprogramme für Konfiguration und Verwaltung." \
|
||||||
flatseal "Flatseal" \
|
flatseal "Verwaltung von Flatpak‑Berechtigungen" \
|
||||||
)
|
)
|
||||||
|
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
# Homebrew
|
# Homebrew
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
zenity --question \
|
zenity --question \
|
||||||
--title="Homebrew (optional)" \
|
--title="Homebrew (optional)" \
|
||||||
--text="<big><b>Homebrew installieren?</b></big>\n
|
--text="<big><b>Homebrew installieren?</b></big>\n
|
||||||
Homebrew ist ein zusätzlicher Paketmanager für Entwickler- und CLI-Werkzeuge.\n
|
Zusätzlicher Paketmanager für Entwickler‑ und CLI‑Werkzeuge.\n
|
||||||
• Installation im Benutzerverzeichnis\n
|
• Installation im Benutzerverzeichnis\n
|
||||||
• Keine Änderung am Basissystem\n
|
• Keine Änderung am Basissystem\n
|
||||||
• Komplett optional"
|
• Komplett optional" \
|
||||||
|
|| true
|
||||||
USE_BREW=$([[ $? -eq 0 ]] && echo yes || echo no)
|
USE_BREW=$([[ $? -eq 0 ]] && echo yes || echo no)
|
||||||
|
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
# Auto-Update
|
# Auto‑Update
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
zenity --question \
|
zenity --question \
|
||||||
--title="Automatische Systemaktualisierung" \
|
--title="Automatische Systemaktualisierung" \
|
||||||
--text="<big><b>Automatische Updates aktivieren?</b></big>\n
|
--text="<big><b>Automatische Updates aktivieren?</b></big>\n
|
||||||
Wenn aktiviert, prüft das System einmal pro Woche auf neue Aktualisierungen und installiert sie automatisch.\n
|
Wöchentliche Prüfung und Installation von System‑Updates.\n
|
||||||
<b>Manuelle Aktualisierung:</b>\n
|
<b>Manuell:</b>\n
|
||||||
<tt>bootc upgrade</tt>\n
|
<tt>bootc upgrade</tt>" \
|
||||||
<b>Dienst manuell starten:</b>\n
|
|| true
|
||||||
<tt>systemctl --user start bootc-update.service</tt>"
|
|
||||||
|
|
||||||
AUTO_UPDATE=$([[ $? -eq 0 ]] && echo yes || echo no)
|
AUTO_UPDATE=$([[ $? -eq 0 ]] && echo yes || echo no)
|
||||||
|
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
# Summary
|
# Zusammenfassung
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
SUMMARY="Browser: ${BROWSERS:-keine}
|
SUMMARY="Browser: ${BROWSERS:-keine}
|
||||||
Office: ${OFFICE:-keine}
|
Office: ${OFFICE:-keine}
|
||||||
Grafik: ${GRAPHICS:-keine}
|
Grafik: ${GRAPHICS:-keine}
|
||||||
Medien: ${MEDIA:-keine}
|
Medien: ${MEDIA:-keine}
|
||||||
Audio/Video: ${AV:-keine}
|
Audio/Video: ${AV:-keine}
|
||||||
Spiele: ${GAMES:-keine}
|
Spiele: ${GAMES:-keine}
|
||||||
E-Mail: ${MAIL:-keine}
|
E‑Mail: ${MAIL:-keine}
|
||||||
Entwicklung: ${DEV:-keine}
|
Entwicklung: ${DEV:-keine}
|
||||||
System: ${SYSTEM:-keine}
|
System: ${SYSTEM:-keine}
|
||||||
|
|
||||||
@@ -227,15 +243,15 @@ zenity --question \
|
|||||||
--text="<big><b>Bitte bestätige die Installation</b></big>\n\n$SUMMARY" \
|
--text="<big><b>Bitte bestätige die Installation</b></big>\n\n$SUMMARY" \
|
||||||
|| abort
|
|| abort
|
||||||
|
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
# Installation
|
# Installation
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
ensure_flathub
|
ensure_flathub
|
||||||
|
|
||||||
(
|
(
|
||||||
echo "10"; echo "# Installiere Browser..."
|
echo "10"; echo "# Installiere Anwendungen…"
|
||||||
|
|
||||||
for b in ${BROWSERS//|/ }; do
|
for b in ${BROWSERS//|/ }; do
|
||||||
[[ -z "$b" ]] && continue
|
|
||||||
case "$b" in
|
case "$b" in
|
||||||
firefox) flatpak install -y flathub org.mozilla.firefox ;;
|
firefox) flatpak install -y flathub org.mozilla.firefox ;;
|
||||||
chromium) flatpak install -y flathub org.chromium.Chromium ;;
|
chromium) flatpak install -y flathub org.chromium.Chromium ;;
|
||||||
@@ -243,9 +259,7 @@ ensure_flathub
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "25"; echo "# Installiere Office..."
|
|
||||||
for o in ${OFFICE//|/ }; do
|
for o in ${OFFICE//|/ }; do
|
||||||
[[ -z "$o" ]] && continue
|
|
||||||
case "$o" in
|
case "$o" in
|
||||||
libreoffice) flatpak install -y flathub org.libreoffice.LibreOffice ;;
|
libreoffice) flatpak install -y flathub org.libreoffice.LibreOffice ;;
|
||||||
onlyoffice) flatpak install -y flathub org.onlyoffice.desktopeditors ;;
|
onlyoffice) flatpak install -y flathub org.onlyoffice.desktopeditors ;;
|
||||||
@@ -255,9 +269,7 @@ ensure_flathub
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "40"; echo "# Installiere Grafik-Tools..."
|
|
||||||
for g in ${GRAPHICS//|/ }; do
|
for g in ${GRAPHICS//|/ }; do
|
||||||
[[ -z "$g" ]] && continue
|
|
||||||
case "$g" in
|
case "$g" in
|
||||||
gimp) flatpak install -y flathub org.gimp.GIMP ;;
|
gimp) flatpak install -y flathub org.gimp.GIMP ;;
|
||||||
krita) flatpak install -y flathub org.kde.krita ;;
|
krita) flatpak install -y flathub org.kde.krita ;;
|
||||||
@@ -265,19 +277,15 @@ ensure_flathub
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "55"; echo "# Installiere Medien..."
|
|
||||||
for m in ${MEDIA//|/ }; do
|
for m in ${MEDIA//|/ }; do
|
||||||
[[ -z "$m" ]] && continue
|
|
||||||
case "$m" in
|
case "$m" in
|
||||||
vlc) flatpak install -y flathub org.videolan.VLC ;;
|
vlc) flatpak install -y flathub org.videolan.VLC ;;
|
||||||
spotify) flatpak install -y flathub com.spotify.Client ;;
|
|
||||||
showtime) flatpak install -y flathub org.gnome.Showtime ;;
|
showtime) flatpak install -y flathub org.gnome.Showtime ;;
|
||||||
|
spotify) flatpak install -y flathub com.spotify.Client ;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "70"; echo "# Installiere Audio/Video-Tools..."
|
|
||||||
for a in ${AV//|/ }; do
|
for a in ${AV//|/ }; do
|
||||||
[[ -z "$a" ]] && continue
|
|
||||||
case "$a" in
|
case "$a" in
|
||||||
shotcut) flatpak install -y flathub org.shotcut.Shotcut ;;
|
shotcut) flatpak install -y flathub org.shotcut.Shotcut ;;
|
||||||
kdenlive) flatpak install -y flathub org.kde.kdenlive ;;
|
kdenlive) flatpak install -y flathub org.kde.kdenlive ;;
|
||||||
@@ -286,18 +294,14 @@ ensure_flathub
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "85"; echo "# Installiere Spiele-Plattformen..."
|
|
||||||
for g in ${GAMES//|/ }; do
|
for g in ${GAMES//|/ }; do
|
||||||
[[ -z "$g" ]] && continue
|
|
||||||
case "$g" in
|
case "$g" in
|
||||||
steam) flatpak install -y flathub com.valvesoftware.Steam ;;
|
steam) flatpak install -y flathub com.valvesoftware.Steam ;;
|
||||||
lutris) flatpak install -y flathub net.lutris.Lutris ;;
|
lutris) flatpak install -y flathub net.lutris.Lutris ;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "90"; echo "# Installiere E-Mail-Clients..."
|
|
||||||
for m in ${MAIL//|/ }; do
|
for m in ${MAIL//|/ }; do
|
||||||
[[ -z "$m" ]] && continue
|
|
||||||
case "$m" in
|
case "$m" in
|
||||||
thunderbird) flatpak install -y flathub org.mozilla.Thunderbird ;;
|
thunderbird) flatpak install -y flathub org.mozilla.Thunderbird ;;
|
||||||
geary) flatpak install -y flathub org.gnome.Geary ;;
|
geary) flatpak install -y flathub org.gnome.Geary ;;
|
||||||
@@ -305,50 +309,39 @@ ensure_flathub
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "95"; echo "# Installiere Entwicklung..."
|
|
||||||
for d in ${DEV//|/ }; do
|
for d in ${DEV//|/ }; do
|
||||||
[[ -z "$d" ]] && continue
|
[[ "$d" == vscode ]] && flatpak install -y flathub com.visualstudio.code
|
||||||
case "$d" in
|
|
||||||
vscode) flatpak install -y flathub com.visualstudio.code ;;
|
|
||||||
esac
|
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "97"; echo "# Installiere System-Werkzeuge..."
|
|
||||||
for s in ${SYSTEM//|/ }; do
|
for s in ${SYSTEM//|/ }; do
|
||||||
[[ -z "$s" ]] && continue
|
[[ "$s" == flatseal ]] && flatpak install -y flathub com.github.tchx84.Flatseal
|
||||||
case "$s" in
|
|
||||||
flatseal) flatpak install -y flathub com.github.tchx84.Flatseal ;;
|
|
||||||
esac
|
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "98"; echo "# Homebrew..."
|
|
||||||
[[ "$USE_BREW" == yes ]] && install_brew_and_setup_path
|
[[ "$USE_BREW" == yes ]] && install_brew_and_setup_path
|
||||||
|
|
||||||
echo "100"; echo "# Fertig."
|
echo "100"; echo "# Fertig."
|
||||||
) | zenity --progress \
|
) | zenity --progress \
|
||||||
--title="Installation läuft" \
|
--title="Installation läuft" \
|
||||||
--text="Bitte warten..." \
|
--text="Bitte warten…" \
|
||||||
--percentage=0 \
|
--percentage=0 \
|
||||||
--auto-close
|
--auto-close
|
||||||
|
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
# Auto-Update aktivieren
|
# Auto‑Update aktivieren
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
if [[ "$AUTO_UPDATE" == yes ]]; then
|
[[ "$AUTO_UPDATE" == yes ]] && systemctl --user enable --now bootc-update.timer || true
|
||||||
systemctl --user enable --now bootc-update.timer
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
# Wizard done (sauberer Abschluss)
|
# Wizard done
|
||||||
# ----------------------------
|
# ------------------------------------------------------------
|
||||||
trap - EXIT
|
trap - EXIT
|
||||||
rm -f "$HOME/.config/firstboot/run"
|
rm -f "$HOME/.config/firstboot/run"
|
||||||
systemctl --user disable firstboot-setup.service || true
|
systemctl --user disable firstboot-setup.service >/dev/null 2>&1 || true
|
||||||
|
|
||||||
zenity --info \
|
zenity --info \
|
||||||
--title="Fertig" \
|
--title="Fertig" \
|
||||||
--text="<big><b>Die Einrichtung ist abgeschlossen.</b></big>\n
|
--text="<big><b>Die Einrichtung ist abgeschlossen.</b></big>\n
|
||||||
Weitere Anwendungen kannst du jederzeit über den COSMIC-Shop installieren.\n
|
Weitere Anwendungen kannst du jederzeit über den COSMIC‑Shop installieren.\n
|
||||||
<b>Homebrew aktualisieren:</b>\n
|
<b>Homebrew aktualisieren:</b>\n
|
||||||
<tt>brew update && brew upgrade</tt>\n
|
<tt>brew update && brew upgrade</tt>\n
|
||||||
Der Setup-Assistent wird nicht erneut gestartet."
|
Der Setup‑Assistent wird nicht erneut gestartet."
|
||||||
|
|||||||
Reference in New Issue
Block a user