Scope Flatpak management to user installs

Updated Flatpak commands to use the --user flag, ensuring all operations (install, uninstall, update) affect only the current user's Flatpaks. Also updated the Zen browser Flatpak ID and improved error handling during installation.
This commit is contained in:
2025-10-26 23:33:04 +00:00
parent 524663aa9b
commit 7689f83e8e

View File

@@ -5,7 +5,7 @@ let
# Declare the Flatpaks you want on your system
desiredFlatpaks = [
"io.github.zen_browser.zen"
"app.zen_browser.zen"
# Add more Flatpak apps here
# "com.spotify.Client"
# "com.discordapp.Discord"
@@ -17,31 +17,31 @@ in {
system.userActivationScripts.flatpakManagement = {
text = ''
# Ensure the Flathub repo is added
${pkgs.flatpak}/bin/flatpak remote-add --if-not-exists flathub \
${pkgs.flatpak}/bin/flatpak remote-add --user --if-not-exists flathub \
https://flathub.org/repo/flathub.flatpakrepo
# Get currently installed Flatpaks
installedFlatpaks=$(${pkgs.flatpak}/bin/flatpak list --app --columns=application)
installedFlatpaks=$(${pkgs.flatpak}/bin/flatpak list --user --app --columns=application 2>/dev/null || echo "")
# Remove any Flatpaks that are NOT in the desired list
for installed in $installedFlatpaks; do
if ! echo ${toString desiredFlatpaks} | ${grep}/bin/grep -q $installed; then
echo "Removing $installed because it's not in the desiredFlatpaks list."
${pkgs.flatpak}/bin/flatpak uninstall -y --noninteractive $installed
${pkgs.flatpak}/bin/flatpak uninstall --user -y --noninteractive $installed
fi
done
# Install or re-install the Flatpaks you DO want
for app in ${toString desiredFlatpaks}; do
echo "Ensuring $app is installed."
${pkgs.flatpak}/bin/flatpak install -y flathub $app
echo "Ensuring $app is installed..."
${pkgs.flatpak}/bin/flatpak install --user -y flathub $app || echo "Failed to install $app"
done
# Remove unused Flatpaks
${pkgs.flatpak}/bin/flatpak uninstall --unused -y
${pkgs.flatpak}/bin/flatpak uninstall --user --unused -y
# Update all installed Flatpaks
${pkgs.flatpak}/bin/flatpak update -y
${pkgs.flatpak}/bin/flatpak update --user -y
'';
};
}