Skip to content

Commit

Permalink
Force remote uninstall (2) (#89)
Browse files Browse the repository at this point in the history
* installer: forcefully delete remotes when managing state.

Remove remotes even if refs are installed. This
can happen in case of manual installation or remotes
and packages. If the user sets
uninstallUnmanagedState = true forcefully remove
any eventuall dangling dependency.

* fix: uninstallUnmanaged option naming.
  • Loading branch information
gmodena authored Oct 20, 2024
1 parent 784c353 commit 68bc646
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions modules/installer.nix
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ let
'';
flatpakAddRemote = installation: remotes: map (flatpakAddRemotesCmd installation) remotes;

flatpakDeleteRemotesCmd = installation: uninstallUnmanagedState: {}: ''
flatpakDeleteRemotesCmd = installation: uninstallUnmanaged: {}: ''
# Delete all remotes that are present in the old state but not the new one
# $OLD_STATE and $NEW_STATE are globals, declared in the output of pkgs.writeShellScript.
# If uninstallUnmanagedState is true, then the remotes will be deleted forcefully.
Expand All @@ -182,7 +182,8 @@ let
--argjson new "$NEW_STATE" \
'(($old.remotes // []) - ($new.remotes // []))[]' \
| while read -r REMOTE_NAME; do
${pkgs.flatpak}/bin/flatpak remote-delete ${if uninstallUnmanagedState then " --force " else " " } --${installation} $REMOTE_NAME
${pkgs.flatpak}/bin/flatpak remote-delete ${if uninstallUnmanaged then " --force " else " " } --${installation} $REMOTE_NAME
done
'';

Expand Down Expand Up @@ -216,7 +217,7 @@ pkgs.writeShellScript "flatpak-managed-install" ''
# Uninstall remotes that have been removed from services.flatpak.packages
# since the previous activation.
${flatpakDeleteRemotesCmd installation uninstallUnmanagedState {}}
${flatpakDeleteRemotesCmd installation cfg.uninstallUnmanaged {}}
# Install packages
${mkFlatpakInstallCmd installation updateApplications cfg.packages}
Expand Down

0 comments on commit 68bc646

Please sign in to comment.