- stages/09-desktop.sh: new autostart section — copies .desktop files for Firefox, Ghostty, Nextcloud, Obsidian, Thunderbird into ~/.config/autostart/ so they launch at login - stages/12-other-apps.sh: add Thunderbird, VirtualBox (Fedora via RPM Fusion), Zoom (via Flatpak); fallback Signal to Flatpak (no official RPM repo); remove FreeRDP (not needed on Fedora)
86 lines
3.5 KiB
Bash
Executable File
86 lines
3.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# ===========================================================================
|
|
# Stage 12: Other Applications
|
|
# Depends on: stage 01 (repos), stage 02 (packages)
|
|
# Chrome, Signal, Zotero, Obsidian, Nextcloud client, FreeRDP.
|
|
# Distro-agnostic — uses pkg_install / Flatpak / tarball.
|
|
# ===========================================================================
|
|
|
|
# ---- Google Chrome ----
|
|
info "Installing Google Chrome..."
|
|
pkg_install google-chrome-stable 2>/dev/null && ok "Chrome installed." \
|
|
|| warn "Chrome not available. Install from https://www.google.com/chrome/"
|
|
|
|
# ---- Signal Desktop ----
|
|
info "Installing Signal Desktop..."
|
|
if pkg_install signal-desktop 2>/dev/null; then
|
|
ok "Signal installed via DNF."
|
|
elif command -v flatpak &>/dev/null; then
|
|
flatpak install -y flathub org.signal.Signal 2>/dev/null && ok "Signal installed via Flatpak." \
|
|
|| warn "Signal Flatpak failed. Install from https://signal.org/download/"
|
|
else
|
|
warn "Signal not installed. Install from https://signal.org/download/"
|
|
fi
|
|
|
|
# ---- Zotero (reference manager) ----
|
|
info "Installing Zotero..."
|
|
if command -v zotero &>/dev/null || flatpak list 2>/dev/null | grep -qi "zotero"; then
|
|
ok "Zotero already installed."
|
|
elif command -v flatpak &>/dev/null; then
|
|
flatpak install -y flathub org.zotero.Zotero 2>/dev/null && ok "Zotero installed via Flatpak." \
|
|
|| warn "Zotero Flatpak failed. Try manual tarball from zotero.org."
|
|
else
|
|
warn "Zotero not installed. Get it from https://www.zotero.org/download/"
|
|
fi
|
|
|
|
# ---- Obsidian (knowledge base) ----
|
|
info "Installing Obsidian..."
|
|
if command -v obsidian &>/dev/null || flatpak list 2>/dev/null | grep -qi "obsidian"; then
|
|
ok "Obsidian already installed."
|
|
elif command -v flatpak &>/dev/null; then
|
|
flatpak install -y flathub md.obsidian.Obsidian 2>/dev/null && ok "Obsidian installed." \
|
|
|| warn "Obsidian Flatpak failed. Download from https://obsidian.md/"
|
|
else
|
|
warn "Obsidian not installed."
|
|
fi
|
|
|
|
# ---- Nextcloud Desktop Client ----
|
|
info "Installing Nextcloud Desktop Client..."
|
|
if [ "$DISTRO_FAMILY" = "debian" ]; then
|
|
pkg_install nextcloud-desktop 2>/dev/null && ok "Nextcloud client installed." || \
|
|
warn "Nextcloud client not available."
|
|
else
|
|
pkg_install nextcloud-client 2>/dev/null && ok "Nextcloud client installed." || \
|
|
warn "Nextcloud client not available."
|
|
fi
|
|
|
|
# ---- Thunderbird (email client) ----
|
|
info "Installing Thunderbird..."
|
|
pkg_install thunderbird 2>/dev/null && ok "Thunderbird installed." \
|
|
|| warn "Thunderbird not available."
|
|
|
|
# ---- Oracle VirtualBox (VM manager) ----
|
|
info "Installing VirtualBox..."
|
|
if [ "$DISTRO_FAMILY" = "fedora" ]; then
|
|
# Available from RPM Fusion free
|
|
pkg_install VirtualBox 2>/dev/null && ok "VirtualBox installed." \
|
|
|| warn "VirtualBox not available. Enable RPM Fusion free in stage 01."
|
|
else
|
|
warn "VirtualBox not available on Debian via this script. Install manually."
|
|
fi
|
|
|
|
# ---- Zoom (video conferencing) ----
|
|
info "Installing Zoom..."
|
|
# The zoom wrapper script (~/.local/bin/zoom) is deployed in stage 06.
|
|
# The actual Zoom app is best installed via Flatpak.
|
|
if command -v zoom &>/dev/null && ! grep -q "wrapper" "$(which zoom)" 2>/dev/null; then
|
|
ok "Zoom already installed."
|
|
elif command -v flatpak &>/dev/null; then
|
|
flatpak install -y flathub us.zoom.Zoom 2>/dev/null && ok "Zoom installed via Flatpak." \
|
|
|| warn "Zoom Flatpak failed. Download from https://zoom.us/download"
|
|
else
|
|
warn "Zoom not installed. Download from https://zoom.us/download"
|
|
fi
|
|
|
|
ok "Stage 12 complete: additional applications installed."
|