community.general.flatpak module – Manage flatpaks

https://docs.ansible.com/projects/ansible/latest/collections/community/general/flatpak_module.html

This module is part of the community.general collection (version 12.1.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.general. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: community.general.flatpak.

Synopsis

Requirements

Parameters

Attributes

Examples

Return Values

Synopsis Allows users to add or remove flatpaks.

See the community.general.flatpak_remote module for managing flatpak remotes.

Requirements The below requirements are needed on the host that executes this module.

flatpak

Parameters Parameter

Comments

executable path

The path to the flatpak executable to use.

By default, this module looks for the flatpak executable on the path.

Default: “flatpak”

method string

The installation method to use.

Defines if the flatpak is supposed to be installed globally for the whole system or only for the current user.

Choices:

“system” ← (default)

“user”

name list / elements=string / required

The name of the flatpak to manage. To operate on several packages this can accept a list of packages.

When used with state=present, name can be specified as a URL to a flatpakref file or the unique reverse DNS name that identifies a flatpak.

Both https:// and http:// URLs are supported.

When supplying a reverse DNS name, you can use the remote option to specify on what remote to look for the flatpak. An example for a reverse DNS name is org.gnome.gedit.

When used with state=absent or state=latest, it is recommended to specify the name in the reverse DNS format.

When supplying a URL with state=absent or state=latest, the module tries to match the installed flatpak based on the name of the flatpakref to remove or update it. However, there is no guarantee that the names of the flatpakref file and the reverse DNS name of the installed flatpak do match.

no_dependencies boolean

added in community.general 3.2.0

If installing runtime dependencies should be omitted or not.

This parameter is primarily implemented for integration testing this module. There might however be some use cases where you would want to have this, like when you are packaging your own flatpaks.

Choices:

false ← (default)

true

remote string

The flatpak remote (repository) to install the flatpak from.

By default, flathub is assumed, but you do need to add the flathub flatpak_remote before you can use this.

See the community.general.flatpak_remote module for managing flatpak remotes.

Default: “flathub”

state string

Indicates the desired package state.

The value latest is supported since community.general 8.6.0.

Choices:

“absent”

“present” ← (default)

“latest”

Attributes Attribute

Support

Description

check_mode partial

If state=latest, the module always returns changed=true.

Can run in check_mode and return changed status prediction without modifying target.

diff_mode none

Returns details on what has changed (or possibly needs changing in check_mode), when in diff mode.

Examples

  • name: Install the spotify flatpak community.general.flatpak: name: https://s3.amazonaws.com/alexlarsson/spotify-repo/spotify.flatpakref state: present

  • name: Install the gedit flatpak package without dependencies (not recommended) community.general.flatpak: name: https://git.gnome.org/browse/gnome-apps-nightly/plain/gedit.flatpakref state: present no_dependencies: true

  • name: Install the gedit package from flathub for current user community.general.flatpak: name: org.gnome.gedit state: present method: user

  • name: Install the Gnome Calendar flatpak from the gnome remote system-wide community.general.flatpak: name: org.gnome.Calendar state: present remote: gnome

  • name: Install GIMP using custom flatpak binary path community.general.flatpak: name: org.gimp.GIMP state: present executable: /usr/local/bin/flatpak-dev

  • name: Install multiple packages community.general.flatpak: name: - org.gimp.GIMP - org.inkscape.Inkscape - org.mozilla.firefox

  • name: Update the spotify flatpak community.general.flatpak: name: https://s3.amazonaws.com/alexlarsson/spotify-repo/spotify.flatpakref state: latest

  • name: Update the gedit flatpak package without dependencies (not recommended) community.general.flatpak: name: https://git.gnome.org/browse/gnome-apps-nightly/plain/gedit.flatpakref state: latest no_dependencies: true

  • name: Update the gedit package from flathub for current user community.general.flatpak: name: org.gnome.gedit state: latest method: user

  • name: Update the Gnome Calendar flatpak from the gnome remote system-wide community.general.flatpak: name: org.gnome.Calendar state: latest remote: gnome

  • name: Update multiple packages community.general.flatpak: name: - org.gimp.GIMP - org.inkscape.Inkscape - org.mozilla.firefox state: latest

  • name: Remove the gedit flatpak community.general.flatpak: name: org.gnome.gedit state: absent

  • name: Remove multiple packages community.general.flatpak: name: - org.gimp.GIMP - org.inkscape.Inkscape - org.mozilla.firefox state: absent Return Values Common return values are documented here, the following are the fields unique to this module:

Key

Description

command string

The exact flatpak command that was executed.

Returned: When a flatpak command has been executed

Sample: “/usr/bin/flatpak install –user –nontinteractive flathub org.gnome.Calculator”

Authors John Kwiatkoski (@JayKayy)

Alexander Bethke (@oolongbrothers)

Collection links Issue Tracker Repository (Sources) Ask for help Submit a bug report Request a feature Communication © Copyright Ansible project contributors. Last updated on Dec 29, 2025.

Updated: