particle-os-modules/modules/default-flatpaks/module.yml
xyny a639f1f64f
refactor(default-flatpaks): version 2 (nushell) (#336)
* feat: initial draft of default-flatpaks v2

this version just sets up the config file but nothing to read it and install the flatpaks after boot

* chore: streamline logging

* chore: replace json with yaml as generated config format

* feat: set up groundwork for post boot scripts

* feat: rename installations -> configurations, initial implementation of post-boot part

* fix: put executable files into /usr/libexec/

* fix: improve fedora remote detection and removal

* feat: implement notifications for system flatpak setup

* chore(default-flatpaks): No need to expose `DISPLAY` for notify-send

* chore(default-flatpaks): Update service & add timers to match v1

* chore(default-flatpaks): Copy & enable timers instead of services

* chore(default-flatpaks): Fix typo for copying `user-flatpak-setup` timer

* chore(default-flatpaks): Copy post-boot files directly instead of placing them in `/usr/share/...`

* chore(default-flatpaks): Forgot to remove copying step of post-boot files to `/usr/share/...`

* chore: update to be in accordance with cli support for nushell

* feat: allow usage of fedora flatpak remote, remove fedora flatpaks and runtimes

* feat: refactor schema to support multiple versions of the module

* docs: separate docs for separate module versions

* fix: copy user-flatpak-setup.timer to correct directory

* chore: correctly document default values in schema

* fix: better flathub package checking
- use API url
- check everything before erroring out

* feat: warn users when giving this module v1 configuration

* fix: prevent addition of http get result into unavailablePackages list

* fix: mkdir before cp

* chore: fix () semantics problems highlighted by debugger

* feat: bluebuild-flatpak-manager CLI

* feat: alert user when trying to use module with old configuration

* docs: write basic documentation page and rewrite example

* fix: attempt to use configFile variable without dollar sign

* fix: no such things as .configurations
(the file is the array)

* fix: ensure no empty list is printed

* docs: add a quick note about learning to use the flatpak manager tool

* fix(schema): distinquish between versions

Co-authored-by: Gerald Pinder <gmpinder@gmail.com>

* fix: add noninteractive flag to flatpak install commands

* fix: ensure repo to be used is enabled

* chore: ignore errors in notify wrapper just in case

* chore: add link to announcement

* docs: run through languagetool

---------

Co-authored-by: fiftydinar <65243233+fiftydinar@users.noreply.github.com>
Co-authored-by: Gerald Pinder <gmpinder@gmail.com>
2025-07-26 14:09:39 +00:00

58 lines
2.8 KiB
YAML

name: default-flatpaks
shortdesc: The default-flatpaks module can be used to install or uninstall flatpaks from a configurable remote on every boot.
versions:
- version: v1
example: |
modules: # configured multiple times to highlight how options are overridden
- type: default-flatpaks@v1
notify: true # Send notification after install/uninstall is finished (true/false)
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
- one.ablaze.floorp//lightning # This is an example of flatpak which has multiple branches in selection (flatpak//branch).
# Flatpak runtimes are not supported (like org.winehq.Wine//stable-23.08).
# Only normal flatpak applications are (like Floorp Lightning web browser in this example).
# Multiple install of same flatpaks with different branches is not supported.
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 configured first in a recipe,
# a subsequent usage might look like this:
- type: default-flatpaks
system:
# If the repo-* fields are omitted on the subsequent usage,
# the module will use the previously configured repo.
# Otherwise, it will overwrite the repo configuration.
install:
- org.kde.kdenlive # this Flatpak is appended to the install list
user:
# repo-name will overwrite the previously-configured repo-name for the user remote
repo-name: flathub-user
repo-title: "Flathub (User
- version: v2
example: |
- type: default-flatpaks
configurations:
- scope: user
repo:
# you can override the title to make inclusion of both system and user repos clearer
title: Flathub (user)
- notify: true
scope: system
repo:
title: Flathub (system)
install: # system flatpaks we want all users to have and not remove
- org.mozilla.firefox
- com.github.tchx84.Flatseal
- io.github.flattool.Warehouse
- io.missioncenter.MissionCenter
- com.github.rafostar.Clapper
- org.gnome.Loupe