Dotfiles/setup/modules/optional-Modules/apps/firefox-browser.sh

36 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# ============================================================
# firefox.sh — Mozilla Firefox browser (Flatpak)
# ============================================================
# Installs Firefox via Flatpak rather than from the official
# Arch repos or AUR. The Flatpak version is sandboxed, ships
# with its own bundled libraries (avoiding libpulse/libx11
# version conflicts), and auto-updates independently of the
# system package manager.
#
# Firefox is offered as an optional module because some users
# prefer a different browser (Chromium, LibreWolf, Zen) as
# their primary, or they use only a Wayland-native browser;
# installing multiple browsers is intentional for testing or
# compartmentalisation.
# ============================================================
set -euo pipefail
# Load shared logging helpers and Flatpak utility functions
source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh"
log "Installing Firefox (Flatpak)..."
# ensure_flatpak: checks that Flatpak and the Flathub remote are configured;
# idempotent — safe to call multiple times.
ensure_flatpak
# Install from Flathub. -y skips interactive confirmation.
sudo flatpak install --system -y flathub org.mozilla.firefox
# apply_flatpak_theme: injects the cyberqueer GTK theme so Firefox's native
# file-open dialogs and context menus match the rest of the desktop.
apply_flatpak_theme "org.mozilla.firefox"
log "Firefox installed."