mirror of
https://github.com/zephrynis/nix-flake.git
synced 2026-02-18 20:21:53 +00:00
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:
@@ -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
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user