profile: [flatpak] provider — declarative flatpak apps #7
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "profile/flatpak-provider"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The first built-in provider: declarative flatpak apps via a
[flatpak]section in profile.toml.Semantics (new
cli/src/flatpak.rs):Generation.flatpak), which feeds the generation id. Editing the list makes a new generation, andgenerations switchre-converges to the old list. Profiles without[flatpak]keep their exact previous id: verified on think, the real profile still reportschanges: false.[[files]]. An installed app is uninstalled only when the previous generation declared it and the new one doesn't. Never-declared apps areextras: reported by plan and apply, removed only withprune = true. Ownership doesn't carry across installations, and removing[flatpak]entirely uninstalls only what was declared.planuses onlyflatpak list/flatpak remotes, so it stays read-only. The JSON report gainsflatpak: {installation, add_remotes, install, uninstall, extras}. A flatpak read error surfaces as anunresolvedentry, so exit 1 still holds. The human output gets aflatpak (<installation> installation):section.installation ∈ {user, system},deny_unknown_fields.[[files]]wherever a program supports layering or drop-ins (dconf is done that way in cn #72); use a provider only for state that lives in a database you can't layer.Verified
cargo test --workspace: 135 pass (11 new: diff/ownership/prune/heal/cross-installation/id-stability/parse/validation).FLATPAK_USER_DIR+ HOME and the real flathub:generations switch <gen1>reinstalls Calculator.Follow-ups: release v0.4.0, then the cn PR that adopts think's flatpaks.