From 573f257e4271b583d8bd1fce430b2b7243640335 Mon Sep 17 00:00:00 2001 From: David Young Date: Wed, 21 Oct 2026 16:41:39 -0600 Subject: [PATCH] improvements to flatpak --- install-flatpaks.sh | 2 +- updates.d/30-flatpak.sh | 5 ++++- updates.d/95-cleanup.sh | 3 ++- utils.sh | 4 ++-- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/install-flatpaks.sh b/install-flatpaks.sh index d9c6cba..7150a48 100755 --- a/install-flatpaks.sh +++ b/install-flatpaks.sh @@ -53,7 +53,7 @@ FLATPAKS=( for pak in "${FLATPAKS[@]}"; do if ! flatpak list | grep -i "$pak" &> /dev/null; then echo "Installing Flatpak: $pak" - flatpak install --noninteractive "$pak" + sudo flatpak install --system --noninteractive "$pak" else echo "Flatpak already installed: $pak" fi diff --git a/updates.d/30-flatpak.sh b/updates.d/30-flatpak.sh index 580832e..9e265c0 100644 --- a/updates.d/30-flatpak.sh +++ b/updates.d/30-flatpak.sh @@ -3,7 +3,10 @@ COREDESKTOP="$HOME/.local/share/coredesktop" echo "Updating Flatpaks..." -flatpak update -y --noninteractive +# System-wide installs need root: --noninteractive suppresses the polkit +# password prompt, so without sudo they fail with "not allowed for user" +sudo flatpak update --system -y --noninteractive +flatpak update --user -y --noninteractive echo "Checking for new flatpaks..." . "$COREDESKTOP/install-flatpaks.sh" diff --git a/updates.d/95-cleanup.sh b/updates.d/95-cleanup.sh index e418cd7..3fc2999 100755 --- a/updates.d/95-cleanup.sh +++ b/updates.d/95-cleanup.sh @@ -1,7 +1,8 @@ #!/bin/bash echo "Removing unused Flatpak runtimes..." -flatpak uninstall --unused -y --noninteractive +sudo flatpak uninstall --system --unused -y --noninteractive +flatpak uninstall --user --unused -y --noninteractive if command -v paccache &>/dev/null; then echo "Trimming pacman package cache..." diff --git a/utils.sh b/utils.sh index 2d1e7cf..7444007 100755 --- a/utils.sh +++ b/utils.sh @@ -50,14 +50,14 @@ remove_flatpaks() { local to_remove=() for pak in "${flatpaks[@]}"; do - if flatpak list | grep -qi "$pak"; then + if flatpak list --system | grep -qi "$pak"; then to_remove+=("$pak") fi done if [ ${#to_remove[@]} -ne 0 ]; then echo "Removing flatpaks: ${to_remove[*]}" - flatpak uninstall --noninteractive "${to_remove[@]}" + sudo flatpak uninstall --system --noninteractive "${to_remove[@]}" fi }