FLATPAKREPO(5)

πŸ’– FLATPAKREPO β€” a whole manual page, bestie πŸ’–

okay so this is the page for flatpakrepo, aka the reference-to-a-remote file. it lives in section 5 of the flatpak manual. buckle up, it's actually cute and short πŸŽ€


✨ NAME ✨

flatpakrepo β€” a reference to a remote 🫢


🌸 DESCRIPTION 🌸

so. Flatpak uses flatpakrepo files to share info about remotes. the whole point of a flatpakrepo file is that it contains enough information to add the remote. like, that's it, that's the job. and the way you actually use it is with the flatpak remote-add --from command. yes, --from. noted. πŸ’…

flatpakrepo files can also carry extra info that's useful when you're showing a remote to a human β€” think an app store, where you want a pretty name and a blurb and an icon. main character energy for your remote, fr fr. ✨

the filename extension everyone uses for these is .flatpakrepo. lowercase, period, slay.

also!! flatpakrepo files can be dropped into /usr/share/flatpak/remotes.d/ and /etc/flatpak/remotes.d/ to statically preconfigure system-wide remotes. those files must use the .flatpakrepo extension. and if a file with the same name exists in both places, the one under /etc takes precedence. so /etc wins, no cap, that's just the rules. πŸ‘‘


πŸ¦‹ FILE FORMAT πŸ¦‹

the flatpakrepo file uses the same .ini file format as systemd unit files or application .desktop files. iykyk. πŸ’œ

πŸ’… [Flatpak Repo]

all the information is contained in the [Flatpak Repo] group. one group, everything's in there, very tidy, we love a monogamous config section. πŸŽ€

the following keys can be present in this group:

  • Version (uint64) β€” the version of the file format. must be 1 if present.
  • Url (string) β€” the url for the remote. this key is mandatory β€” like, you literally cannot skip it, bestie. 🚨
  • GPGKey (string) β€” the base64-encoded gpg key for the remote.
  • DefaultBranch (string) β€” the default branch to use for this remote.
  • Subset (string) β€” limit the remote to the named subset of refs.
  • Title (string) β€” the title of the remote. this should be a user-friendly name that can be displayed e.g. in an app store.
  • Comment (string) β€” a short summary of the remote, for display e.g. in an app store.
  • Description (string) β€” a longer description of the remote, for display e.g. in an app store.
  • Icon (string) β€” the url for an icon that can be used to represent the remote.
  • Homepage (string) β€” the url of a webpage describing the remote.
  • Filter (string) β€” the path of a local file to use to filter remote refs. see flatpak-remote-add(1) for details on the format of the file.
⚠️ note: this field is treated a bit special by flatpak remote-add. if you install a remote with --if-not-exists then and the remote is already configured, then the filter field of the remote configuration will be update anyway. and, if the filter field is not specified then any existing filters are cleared. the goal here is to allow a pre-configured filtered remote to be replaced with the regular one if you add the normal upstream (unfiltered) flatpakrepo file. so like, it's doing that on purpose, it's not a bug, it's a whole strategy πŸ’€
  • DeploySideloadCollectionID (string) β€” the collection ID of the remote, if it has one. this uniquely identifies the collection of apps in the remote, to allow peer to peer redistribution (see flatpak(1)). it is recommended to use this key over DeployCollectionID or CollectionID because only newer clients (Flatpak 1.12.8 or later) pay attention to it (and older clients don't handle collection IDs properly). πŸ‘‘
  • DeployCollectionID (string) β€” this is deprecated but still supported for backwards compatibility. use DeploySideloadCollectionID instead.
  • CollectionID (string) β€” this is deprecated but still supported for backwards compatibility. use DeploySideloadCollectionID instead.

🌈 EXAMPLE 🌈

here's a whole real one, verbatim, look at her:

[Flatpak Repo]
Title=gedit
Url=http://sdk.gnome.org/repo-apps/
GPGKey=mQENBFUUCGcBCAC/K9WeV4xCaKr3NKRqPXeY5mpaXAJyasLqCtrDx92WUgbu0voWrhohNAKpqizod2dvzc/XTxm3rHyIxmNfdhz1gaGhynU75Qw4aJVcly2eghTIl++gfDtOvrOZo/VuAq30f32dMIgHQdRwEpgCwz7WyjpqZYltPAEcCNL4MTChAfiHJeeiQ5ibystNBW8W6Ymf7sO4m4g5+/aOxI54oCOzD9TwBAe+yXcJJWtc2rAhMCjtyPJzxd0ZVXqIzCe1xRvJ6Rq7YCiMbiM2DQFWXKnmYQbj4TGNMnwNdAajCdrcBWEMSbzq7EzuThIJRd8Ky4BkEe1St6tuqwFaMZz+F9eXABEBAAG0KEdub21lIFNESyAzLjE2IDxnbm9tZS1vcy1saXN0QGdub21lLm9yZz6JATgEEwECACIFAlUUCGcCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEArkz6VV0VKBa5cH/0vXa31YgEjNk78gGFXqnQxdD1WYA87OYxDi189l4lA802EFTF4wCBuZyDOqdd5BhS3Ab0cR778DmZXRUP2gwe+1zTJypU2JMnDpkwJ4NK1VP6/tE4SAPrznBtmb76BKaWBqUfZ9Wq1zg3ugvqkZB/Exq+usypIOwQVp1KL58TrjBRda0HvRctzkNhr0qYAtkfLFe0GvksBp4vBm8uGwAx7fw/HbhIjQ9pekTwvB+5GwDPO/tSip/1bQfCS+XJB8Ffa04HYPLGedalnWBrwhYY+G/kn5Zh9L/AC8xeLwTJTHM212rBjPa9CWs9C6a57MSaeGIEHLC1hEyiJJ15w8jmY=
DeployCollectionID=org.gnome.Apps

πŸ”₯ SEE ALSO πŸ”₯

flatpak(1), flatpak-remote-add(1), flatpakref(5)


okay that's the whole page bestie, you ate that πŸ’…βœ¨ this was the FLATPAKREPO(5) page from the flatpak manual β€” flatpak is the source, no date on this one, so we're just gonna vibe with it πŸ¦‹πŸ’– go configure a remote, you got this 🫢

πŸ“¦ where this page comes from