How to automate flatpak updates in AppVM's?

Hi all,

One approach to using flatpaks in qubes is to install the flatpak in an AppVM using the --user flag.

To the best of my knowledge there is currently no way to update these flatpaks using the qubes updater tool nor does dom0 get notified when flatpak updates are available. Meaning you would need to check for this manually when in the AppVM and you would also need to update these flatpaks manually.

People who are using flatpaks in AppVM’s could you please share with me how you keep track / update your flatpaks installed in AppVM’s - very curious if anyone has written a script to either integrate with the updater tool or just notify dom0 that updates are available?

@solene wrote a post about updating flatpak in templates: Solene'% : Flatpak integration in Qubes OS templates

You should be able to edit your AppVM rc.local the same way?

Thanks for your response I am currently experimenting with solenes solution - I should have added this to my post for context.

I just wanted to get a sense of what everyone else was doing in their day to day use of Flatpaks in qubes.

Slightly off topic @parulin do you know if Flatpaks and Snaps will ever be officially supported in templates? That is integrated into the qubes updater tool?

I use a local caching server for flatpak download, so if I have multiple computer / qubes downloading/installing the same flatpak, it’s delivered from the local server and it’s blazing fast.

I didn’t find a way to modify the updater tool to run the command, I guess some salt foo is required.

Reporting that an update is possible is actually easy, but not very useful if it’s not installed in a template.

Hi @solene,

Are you currently still using flatpaks in a template the same way you outlined in your blog, or are you doing something different now?

Also, would you be able to provide some insight as to how I could get https_proxy to work for sudo. I added https_proxy=http://127.0.0.1:8082/ to /home/user/.config/environment.d/proxy.conf file as you outlined - works great.

However when I try to install an older version of a flatpak which requires sudo:
sudo flatpak update --commit=200c2bb95e1bf13a0e6540b5ea50a0f9f6f64090de7cfc8a84cc0a25fe8dc61f com.jetbrains.PyCharm-Community

This results in:
error: While fetching https://dl.flathub.org/repo/objects/20/0c2bb95e1bf13a0e6540b5ea50a0f9f6f64090de7cfc8a84cc0a25fe8dc61f.commit: [6] Couldn't resolve host name

What file do I need to add https_proxy=http://127.0.0.1:8082/ to work when using sudo?

I dont know :slight_smile:

I don’t use flatpaks enough to have salted the update process and I don’t know how to handle the selection of VMs to update…

Maybe try to edit the same file in /root instead of /home/user?

1 Like

I’m still using this on all my qubes computer, it’s working really great. The flatpak updates as often as the packages updates are required. There is still a risk they don’t all upgrade in time compared to the regular updates though, but as flatpak only download what changed between two versions, it’s often small. You could still run “flatpak upgrade” in any appvm using the template to see if there is something to update, and manually start the template.

For root, you can either do

sudo -i
export https_proxy=http://127.0.0.1:8082/
flatpak something

or

sudo env https_proxy=http://127.0.0.1:8082/ flatpak something
1 Like

@solene thanks for your response, I’d really like to see flatpaks & snaps integrated into the updater tool in the future.