default-flatpaks Module for Startingpoint¶
default-flatpaks module can be used to install flatpaks from a configurable remote on first boot. This module first removes the Fedora Flatpaks remote and Flatpaks that come pre-installed in Fedora. A Flatpak remote is configured the first time the module is used, but it can be re-configured in subsequent usages of the module. If no Flatpak remote is specified, the module will default to using Flathub.
Flatpaks can either be installed system-wide or per-user, though per-user flatpaks will be installed for every user on a system. Previously-installed flatpaks can also be removed.
The module uses the following scripts to handle flatpak setup:
The scripts are run on first boot and login by these services:
system-flatpak-setup checks the flatpak repo information and install/remove lists created by the module. It also checks for the existence of
/etc/ublue-os/system-flatpak-configured before running.
user-flatpak-setup functions the same for user flatpaks, but checks for
Flatpak setup can be run again by removing
/etc/ublue-os/system-flatpak-configured for system-wide flatpaks, or
$HOME/.config/ublue-os/user-flatpak-configured for user flatpaks.
This module stores the Flatpak remote configuration and Flatpak install/remove lists in
/etc/flatpak/. There are two subdirectories,
system corresponding with the install level of the Flatpaks and repositories. Each directory has text files containing the IDs of flatpaks to
remove, plus a
repo-info.yml containing the details of the Flatpak repository.
type: default-flatpaks system: # If no repo information is specified, Flathub will be used by default repo-url: https://dl.flathub.org/repo/flathub.flatpakrepo repo-name: flathub repo-title: "Flathub (system-wide)" # Optional; this sets the remote's user-facing name in graphical frontends like GNOME Software install: - org.gnome.Loupe remove: - org.gnome.eog # A flatpak repo can also be added without having to install flatpaks, # as long as one of the repo- fields is present user: repo-name: flathub
# Assuming that the above example is called first in a recipe, # a subsequent usage might look like this: type: default-flatpaks system: # If the repo-* fields are omitted, the configured repo will # use the previous configuration. Otherwise, it defaults to Flathub. install: - org.kde.kdenlive user: # repo-name will overwrite the previously-configured repo-name for the user remote repo-name: flathub-user repo-title: "Flathub (User)