Julian Sparber
Julian Sparber

Latest posts by Julian Sparber (see all)

If you are using PureOS or any other GNU/Linux distribution you’re probably already familiar with Flatpaks, but if not, here’s a short introduction: Flatpak is a convenient way to distribute apps on GNU/Linux. It allows for a much faster development cycle compared to other distribution systems and it increases security, because software runs inside a sandbox and therefore has limited access to the host system.

Flatpak is built on top of libostree. You can imagine it to be a system similar to git but for binary system files. You can install different versions (e.g. development and stable) of an app and easily move back to a previous release. To download apps as Flatpak, we need a repository containing apps called a Flatpak remote, and a runtime that offers us the core system components that normally would be offered by the host system (e.g. GLib, GTK, Libadwaita, and so on).

A New PureOS Flatpak Repository

PureOS now has its own runtime and repository for distributing applications. The focus is on apps that work well on mobile (especially on our Librem 5), and of course we are still (and this will never change) committed to shipping only Free Software to our users.

Over the past few months I’ve set up the infrastructure to build our own Flatpak runtime and applications for the PureOS Flatpak repository. I took a lot of inspiration from Flathub for the architecture, but builds are done using Purism’s pre-existing infrastructure.

Mobile Patches

Ideally we would depend directly on an existing Flatpak SDK, like the org.gnome.Sdk, but for the time being we need a few changes to GTK3 and GTK4 to make apps work better on mobile devices. Our custom runtime is built on top of the GNOME one, with the patches we need for mobile. Of course, we’re working to upstream on the relevant modules towards removing the need for these patches medium-term, but currently this is the most practical solution for our users.

From a developer’s point of view, it should be enough to exchange the GNOME runtime with the PureOS runtime and expect everything to work just fine.

Differences from Flathub

As mentioned earlier, our infrastructure is heavily inspired by Flathub, since it didn’t make sense to reinvent the wheel.  A big advantage of this is that developers don’t need to learn a new process to publish applications for our Flatpak remote. The process for submitting a new application is kept intentionally similar to Flathub.

To kickstart the new repository, we’re also currently importing some apps (mainly mobile-ready ones) directly from Flathub and rebuilding them with the PureOS runtime instead of the GNOME one. Eventually we hope that the upstream authors will submit their apps to PureOS store directly, which will enable them to also receive donations via our upcoming payment system.

How to get PureOS Store Flatpaks

If you are on the latest version of PureOS, you should already see Flatpaks in PureOS Store. You can also check via the terminal if the Flatpak remote is installed flatpak remote-ls pureos. If Flatpaks don’t show up, make sure the package pureos-flatpak-defaults is installed via apt-get on your system.

If you are not on PureOS you can still use our Flatpak remote by manually adding it:

flatpak remote-add PureOS https://store.puri.sm/repo/stable/pureos.flatpakrepo --user

Conclusion

We aren’t abandoning Debian packages, but the introduction of Flatpaks gives our users access to the latest version of many modern adaptive GTK apps that were previously inaccessible on PureOS.

This also gives us a clear path towards atomic updates for the OS, which we’re hoping to move to medium-term.

Purism Products and Availability Chart

 ModelStatusLead Time 
USB Security Token Purism Librem KeyLibrem Key

(Made in USA)
In Stock
($59+)
10 business days
Librem 5In Stock
($699+)
3GB/32GB
10 business days
Librem 5 COMSEC BundleIn Stock
($1299+)
Qty 2; 3GB/32GB
10 business days
Purism Liberty Phone with Made in USA ElectronicsLiberty Phone
(Made in USA Electronics)
Backorder
($1,999+)
4GB/128GB
Estimated fulfillment February
Librem 5 + SIMple
(3 GB Data)
In Stock
($99/mo)
10 business days
Librem 5 + SIMple Plus
(5 GB Data)
In Stock
($129/mo)
10 business days
Librem 5 + AweSIM
(Unlimited Data)
In Stock
($169/mo)
10 business days
Librem 11In Stock
($999+)
8GB/1TB
10 business days
Most Secure Laptop Purism Librem 14Librem 14Backorder
($1,370+)
Estimated fulfillment December
Most Secure PC Purism Librem Mini
Librem MiniBackorder
($799+)
10 business days
Most Secure Server Purism Librem ServersLibrem ServerIn Stock
($2,999+)
45 business days
The current product and shipping chart of Purism products, updated on October 18th, 2024

Recent Posts

Related Content

Tags