Flatpak: Difference between revisions

Malix (talk | contribs)
Declaratively: feature a comparison
Malix (talk | contribs)
Declaratively: fix, see https://github.com/in-a-dil-emma/declarative-flatpak/issues/44
Line 38: Line 38:


===== [https://github.com/gmodena/nix-flatpak nix-flatpak] =====
===== [https://github.com/gmodena/nix-flatpak nix-flatpak] =====
A convergent approach in which Flatpak packages manage their own lifecycle independently of Nix generations (Nix rollbacks wouldn't revert Flatpak packages to their previous state)
A '''convergent approach''' where Flatpak packages manage their own lifecycle independently of Nix generations. It manages refs in place. Since Flatpak packages are '''not cached in the Nix store''', this approach uses '''more network bandwidth''' but is more '''efficient with disk storage'''. Note that it '''requires flakes''' to function.
 
As Flatpak packages are not cached in Nix store, it uses more network bandwidth but is more efficient with disk storage


===== [https://github.com/in-a-dil-emma/declarative-flatpak declarative-flatpak] =====
===== [https://github.com/in-a-dil-emma/declarative-flatpak declarative-flatpak] =====
A congruent (truly declarative and reproducible) approach in which Flatpak packages are integrated into the Nix reproducible model, meaning they become part of Nix's generations (Nix rollbacks would revert Flatpak packages to their previous state)
A '''congruent (truly declarative and reproducible) approach''' where Flatpak packages are integrated into the Nix reproducible model, meaning they become part of Nix's generations. Changes are '''atomic''', ensuring that either the new files are installed successfully or nothing happens. This module uses a temporary installation and then overwrites the current one. This module does '''not yet cache Flatpak refs in the Nix store''', so it uses '''more network bandwidth''' but is more '''efficient with disk storage'''. Note that it '''supports non-flake installs'''.
 
As Flatpak packages are cached in Nix store, it is more efficient with disk storage but uses less network bandwidth


==== Imperatively ====
==== Imperatively ====