Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Building for flatpak

This guide will help you to build and/or test pre-released commits of Halloy for flatpak.

If you haven't done so already, clone the Halloy repository to your local machine.

Requirements

Be sure to install all the dependencies for the above tools.

Generating flatpak build sources file

To generate the generated-sources.json file that is used by the flatpak manifest, run the following command:

python3 <flatpak-builder-tools-path>/cargo/flatpak-cargo-generator.py -o <halloy-checkout-path>/assets/flatpak/generated-sources.json

Building and installing flatpak locally

Finally, to build and install the flatpak locally, run the following command:

flatpak-builder --force-clean --user --install-deps-from=flathub --repo=.flatpak-builder/repo --install .flatpak-builder/build <halloy-checkout-path>/assets/flatpak/org.squidowl.halloy.json

Your flatpak should now be built, installed locally and ready for use.

Happy testing!

Releasing to Flathub

Halloy's flatpaks are released via Flathub.

Start by cloning the flathub repo for Halloy. Every release has two requirements:

  1. The generated-sources.json file must be up to date. You can generate it from the latest release tag via the commands above.
  2. The flatpak manifest file (org.squidowl.halloy.json) must be updated to point to the latest release tag of Halloy.

The caveat for #2: the version you're wanting to release must be tagged first. We use the sha256sum of the tagged tarball in the build manifest.

For example, for release 2025.6, we would need to:

# Download the tagged tarball wget https://github.com/squidowl/halloy/archive/refs/tags/2025.6.tar.gz # Get the sha256sum of the tarball sha256sum 2025.6.tar.gz | awk '{print $1}'

The url and the sha256 fields for modules.0.sources.0 in the manifest file should be updated along with an updated generated-sources.json file. After that, you can create a pull request to the Flathub repository with the updated files.

See the pull request for the 2025.6 release for an example.