Flatpak integration in Qubes OS templates

Thanks, quite interesting.

I also like flatpak, but I use it differently: mostly one qube per application.

To do that I installed flatpak package in the template (sudo dnf install flatpak).
And in qubes based on that basic template I add --user flag to all calls of flatpak.
E.g. to install some software inside the qube:

flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak --user install remmina
flatpak --user run org.remmina.Remmina

Then I can make custom icon launcher on the panel to execute this software. No need to do anything with the template.

I can have qubes for apps, not templates for everything: whatsapp qube, telegram qube (maybe several is needed), any_specific_software_qube.

Advantages:

  • it is easier in general,
  • qube has only software that I need in it, not all other apps (including proprietary) from template,
  • it is more secure, because if something bad exists in flatpak-package it will only affect one qube, not all qubes which use some template,
  • updates are easier, I just update one app, not even starting the template and not potentially affecting other qubes,
  • everything is local and does not require to think about any Qubes OS specific tricks when part of the application is in another template.
  • backup of such qube will have everything important to reuse it somewhere: both user settings and application in user’s directory.

Disadvantages:

The only one I see is higher disk size usage:

  • applications cannot share flatpak dependencies across qubes,
  • having multiple qubes with the same specific flatpak package will require space in each of them,
  • backup size of such qube is also bigger.
2 Likes