mirror of
https://github.com/ublue-os/bazzite.git
synced 2025-04-15 14:42:33 +00:00
Someone may choose to install a flatpak on the removal list intentionally, in which case we don't want to forcibly remove it This verifies the version file exists following a successful run and skips the removal process if it does
52 lines
1.4 KiB
Bash
Executable File
52 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Script Version
|
|
VER=9
|
|
VER_FILE="/etc/bazzite/flatpak_manager_version"
|
|
VER_RAN=$(cat $VER_FILE)
|
|
|
|
# Run script if updated
|
|
if [[ -f $VER_FILE && $VER = $VER_RAN ]]; then
|
|
echo "Flatpak manager v$VER has already ran. Exiting..."
|
|
exit 0
|
|
fi
|
|
|
|
# Opt out of and remove Fedora's flatpak repo
|
|
if grep -qz 'fedora' <<< $(flatpak remotes); then
|
|
/usr/lib/fedora-third-party/fedora-third-party-opt-out
|
|
/usr/bin/fedora-third-party disable
|
|
flatpak remote-delete fedora --force
|
|
fi
|
|
|
|
# Ensure Flathub is enabled
|
|
flatpak remote-modify --system --enable flathub
|
|
|
|
# Installed flatpaks
|
|
FLATPAK_LIST=$(flatpak list --columns=application)
|
|
|
|
# Flatpak list files
|
|
INSTALL_LIST_FILE="/usr/share/ublue-os/bazzite/flatpak/install"
|
|
REMOVE_LIST_FILE="/usr/share/ublue-os/bazzite/flatpak/remove"
|
|
|
|
# Install flatpaks in list
|
|
if [[ -f $INSTALL_LIST_FILE ]]; then
|
|
INSTALL_LIST=$(echo $FLATPAK_LIST | grep -vf - $INSTALL_LIST_FILE)
|
|
if [[ -n $INSTALL_LIST ]]; then
|
|
if ! flatpak install --system --noninteractive flathub ${INSTALL_LIST[@]}; then
|
|
# exit on error
|
|
exit 1
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# Remove flatpaks in list once
|
|
if [[ ! -f $VER_FILE && -f $REMOVE_LIST_FILE ]]; then
|
|
REMOVE_LIST=$(echo $FLATPAK_LIST | grep -f - $REMOVE_LIST_FILE)
|
|
if [[ -n $REMOVE_LIST ]]; then
|
|
flatpak remove --system --noninteractive ${REMOVE_LIST[@]}
|
|
fi
|
|
fi
|
|
|
|
mkdir -p /etc/bazzite
|
|
echo $VER > $VER_FILE
|