#!/usr/bin/env bash
# Install the Flatpaks listed in /usr/share/flatpak/flatpaks.list into the
# system-wide installation on first boot, so every user (including Kanidm
# accounts) sees them.
set -euo pipefail

LIST="/usr/share/flatpak/flatpaks.list"
MARKER="/var/lib/flatpak/.system-firstboot-done"

[[ -f "${LIST}" ]] || exit 0
[[ -f "${MARKER}" ]] && exit 0

# Make Flathub available system-wide.
flatpak remote-add --system --if-not-exists flathub \
  https://flathub.org/repo/flathub.flatpakrepo

mapfile -t apps < <(
  sed -e 's/#.*//' -e 's/[[:space:]]//g' "${LIST}" | grep -v '^$' || true
)

if [[ ${#apps[@]} -gt 0 ]]; then
  flatpak install --system --noninteractive --assumeyes "${apps[@]}"
fi

install -d "$(dirname "${MARKER}")"
touch "${MARKER}"
