Commit graph

90 commits

Author SHA1 Message Date
Brad P. Crochet
0ee5aa76d9
fix: Ensure the flatpak list is filtered before checking for empty (#443)
Some checks failed
build-individual / build-individual (push) Failing after 2s
build-unified / build-unified (push) Failing after 2s
In order for the logic to work properly, the flatpak list needs to be
filtered down before checking for empty. Otherwise, in the `if` clause,
the list would become empty, and would cause the flatpak call to fail.

Signed-off-by: Brad P. Crochet <brad@crochet.net>
2025-08-18 08:36:33 +03:00
Sjoerd Stendahl
580cdd534c
fix: Add check for empty flatpak list (#438)
fix: add check for empty flatpak list

Adds a check when `flatpak list` for the apps and runtimes is empty.

Fixes an issue where the flatpaks wouldn't install when no runtimes or apps where installed in user-space, due to an empty input being piped into `empty columns`

Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com>
2025-08-01 09:45:30 +00:00
xyny
a0d8030327 fix: typo in schema 2025-07-26 17:42:12 +03:00
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
fiftydinar
128de83a78
chore(default-flatpaks): Don't quit Gnome Software if it's not installed & adjust fedora-third-party messaging
If `fedora-third-party` package is removed, then there's no need to disable the Fedora 3rd party repos through `fedora-third-party` CLI.
2025-05-16 13:24:56 +02:00
Mr Sticky Piston
0a11642c79
Use api for flathub app id check to reduce build fails and speedup builds (#387) 2025-02-14 11:39:10 +01:00
fiftydinar
2586223b3e
chore(default-flatpaks): Print message about checking flatpak IDs only if they are inputted 2025-02-12 12:47:09 +01:00
fiftydinar
84264cafae
chore(default-flatpaks): Revert checking flatpak flathub IDs with curl instead of wget
It was not an issue with `curl` after all, it's an issue with flathub OBS page being down with status 500.
2025-02-12 12:45:46 +01:00
fiftydinar
b592ededde
fix(default-flatpaks): Checking flatpak IDs from FlatHub (#385)
For some reason, `curl` started to specifically fail for `com.obsproject.Studio` flatpak ID, which obviously exists.

I thought it's because of Flathub downtime at the moment, but it's not & is consistently reproducible.

Maybe it's a bug introduced with `curl` or something similar, so to solve this issue, `wget --spider` will be used instead.
2025-02-11 21:03:07 +01:00
Gerald Pinder
be0201ce76 fix: Separate models required for separate schema files 2025-01-31 18:28:33 -05:00
Gerald Pinder
d343201724
chore: Update schemas to version all types (#383) 2025-01-30 14:00:08 -05:00
fiftydinar
189048b119
chore: Remove usage of yq in favor of jq (#369)
* chore: Remove usage of `yq` in favor of `jq`

* fix: Missed bracket in `default-flatpaks`

* fix: `get_json_array` complaining about unpopulated arrays

* fix(files): Forgot to input `-r` flag for some `jq` calls

* fix(gschema-overrides): Use `try` in `get_json_array`

* chore(default-flatpaks): Replace `yq` with `jq` in run-time setup binaries

* chore: Switch to simplified `jq` syntax without brackets

* chore(default-flatpaks): Switch `repo-info` file from `yml` to `json`

* fix(default-flatpaks): Some `yq` calls

* chore: Revert back to bracket syntax for more reliable `jq` parsing

* chore(files): Missed bracket syntax

* chore: Approve bot suggestion about quoting

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update modules/files/files.sh

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix(yafti): Populating custom flatpaks

It's populated in reverse order compared to the format in recipe, but it works

* fix(fonts): Variable substitution is needed

* fix: Typo

* fix(fonts): Forgot to assign FONTS variable

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-02 19:02:13 +00:00
fiftydinar
9368c5dc5e
docs(default-flatpaks): Strictly specify how to add Fedora flatpak repo
It's easier for the user.
2024-11-12 17:14:46 +01:00
fiftydinar
1d7243782a
fix(default-flatpaks): Allow usage of Fedora flatpak remote (#359)
* fix(default-flatpaks): Allow usage of Fedora flatpak remote

* docs(default-flatpaks): Some further clarifications for retaining Fedora flatpak remote
2024-11-12 17:09:00 +01:00
fiftydinar
be9f17c96e
chore(default-flatpaks): Temporarily remove auto-restart of services (#355)
* chore(default-flatpaks): Remove auto-restart of `system-flatpak-setup`

* chore(default-flatpaks): Remove auto-restart of `user-flatpak-setup`
2024-10-28 12:40:20 +01:00
fiftydinar
ca84ec87eb
fix(default-flatpaks): Fix loginctl json parsing in F40 & less (systemd v255 & less) 2024-10-25 23:02:40 +02:00
fiftydinar
ccde6df956
fix(default-flatpaks): loginctl regression in parsing json output for notifications
On Fedora 41, which has systemd v256, `--output=json` no longer displays `json`, but classic output.

Using `-j` instead of `--output=json` fixes this issue.
2024-10-25 22:51:51 +02:00
fiftydinar
247a99e42a
fix(default-flatpaks): Make notifications be more reliable by delaying service start for 30s & cleaner internet-related logs 2024-10-25 19:13:53 +02:00
fiftydinar
ca9a840072
chore(default-flatpaks): Remove flatpaks first & then install 2024-10-23 20:15:54 +02:00
fiftydinar
f5d1e74361
chore(default-flatpaks): Fix outdated code comment 2024-10-23 18:47:16 +02:00
fiftydinar
95c17dcc23
chore(default-flatpaks): Increase connection attempts to 5 & print successful connection log 2024-10-23 18:26:06 +02:00
fiftydinar
2f2036db0b
fix(default-flatpaks): Couldn't resolve host name in some network setups (#352) 2024-10-23 17:53:39 +02:00
fiftydinar
89ea220f5e
chore(default-flatpaks): No need to query DISPLAY variable for notify-send
Notifications work without it & custom images without XWayland don't have `DISPLAY` variable at all (eg. secureblue & custom images based on it)
2024-10-23 11:42:06 +02:00
fiftydinar
17c6be78d6
chore(default-flatpaks): Improve detection of username & UID for rootful notify-send 2024-10-18 20:49:01 +02:00
fiftydinar
5cdfb9eeb1
Revert "fix(default-flatpaks): Couldn't resolve host name with some working internet connections" 2024-10-16 15:53:00 +02:00
fiftydinar
c6f76ddfcd
fix(default-flatpaks): Couldn't resolve host name with some working internet connections
Fixes: #346
2024-10-16 14:55:47 +02:00
fiftydinar
3ceb12a244
chore(default-flatpaks): Add no_title_modify=false at the start of the condition logic 2024-10-15 08:20:14 +02:00
fiftydinar
ae20a0278a
chore(default-flatpaks): Adjust log for removing fedora-testing remote 2024-10-15 08:13:44 +02:00
fiftydinar
ed67139d8e
fix(default-flatpaks): Check for Fedora testing repo 2024-10-14 23:49:42 +02:00
fiftydinar
d863d1bede
chore(default-flatpaks): Improve reliability of Fedora flatpaks removal & logging/debugging (#345) 2024-10-14 23:18:30 +02:00
fiftydinar
54d27a1f9d fix(default-flatpaks): Default notify value not properly set
Fixes:
https://github.com/blue-build/modules/issues/268
2024-09-17 09:10:15 +02:00
fiftydinar
59c7882785
chore: Put files in /etc/ instead in /usr/etc (#315)
* docs(files): Recommend to put files in `/etc/` instead in `

This also modifies build-time part of modules to work with `/etc/` instead of `/usr/etc/`

* docs(files): Revert the `/usr/etc/` & `/etc/` docs

* chore: Revert `signing` module transition due to upstream issue

* docs: Clarify note better regarding /etc
2024-08-11 17:07:55 +00:00
xyny
ea2720ba4e
feat: support versioning modules (#240)
* feat: add nu script that generates build matrix for github action

* chore: push initial version of new github action for testing

* fix: properly close github template sequence

* chore: screw this i'll write the whole build in nu (nu build script started, continue later)

* fix: individual misspellings and such

(yeah, i'm tired)

* fix: containerfile path

* fix: docker arg syntax

* fix: docker build path?

* feat: code structure, buildx, pushing to registry

* fix: tag image properly

* fix: split arguments properly

* fix: use registry properly

* refactor: move docker build to a separate par-each

* feat: correctly tag versioned modules

* feat: cosign signing, better logging

* fix: cosign syntax

* fix: differentiate log types with more expressive colors

* chore: fix cosign syntax in logs

* fix: capture errors, colocate logs while running paraller

* chore: partly revert "fix: capture errors, colocate logs while running paraller"

This reverts commit 9238a0f1d68183e712b567fc50849964cc964c78.

* chore: bring back capture errors, keep order in logs

apparently do --capture-errors is required for nushell to catch external commands errors

* chore: Revert "chore: bring back capture errors, keep order in logs"

These changes didn't do anything...
This reverts commit 020b9a1bce9456f2167397b49aa24a65f6bec8e6.

* fix: properly tag images in PRs and secondary branches

* fix: use tags-variable instead of "tags" string

* chore: change default-flatpaks module folder structure to be versioned

* fix: also log generated tags for versioned modules

* fix: don't add tags meant for latest image for every version of versioned module

* fix: better logging and inline docs

* fix: better logging pt2

* feat: build-unified for building the legacy modules container with just the latest versions

* fix: correct workflow names

* fix: add missing ansi resets

* chore: add nushell extension to recommendations

* fix: update unified job name

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

* chore: remove matrix output left over from a previous version

---------

Co-authored-by: Gerald Pinder <gmpinder@gmail.com>
2024-08-11 11:20:10 +00:00
fiftydinar
37466a71cb chore(default-flatpaks): Don't modify the remote title if it's already modified
Wanting to avoid running unnecessary setup in logs as much as possible.

Unfortunately,
`flatpak remote-add` still runs even if repo exists, as it apparently modifies the URL, no matter if it's the same.

I tried to extract & compare input URL & flatpak URL to mitigate this as an condition, but it doesn't work, as flatpak lists repo URL, while we input flatpakref URLs, which are not the same.
2024-08-04 20:37:23 +02:00
xyny
e749fe71d3 chore: remove raw github URLs from module.ymls (unneeded after recent refactor) 2024-07-26 16:02:32 +03:00
Daniel Barenholz
d78597329d
docs(default-flatpaks): Fix typo (#297)
fix(default-flatpaks): Typo in module.yml
2024-07-26 12:26:56 +00:00
fiftydinar
bb3492b1e9 chore(default-flatpaks): Add ERROR: to the error log for verifying flatpak IDs from FlatHub
Makes it more readable & clearer at the start
2024-07-22 17:43:29 +02:00
fiftydinar
83ac1d446a style(default-flatpaks): Don't display note message twice 2024-07-20 23:38:50 +02:00
fiftydinar
657d75def6 fix(default-flatpaks): Unboundable variable error 2024-07-20 23:19:39 +02:00
fiftydinar
a1adac44af fix(default-flatpaks): Read repo-info.yml only when it's available 2024-07-20 23:13:30 +02:00
fiftydinar
a41e739d16
chore(default-flatpaks): Adjust echo formatting
Co-authored-by: Gerald Pinder <gmpinder@gmail.com>
2024-07-20 23:08:17 +02:00
fiftydinar
fbb94b5d86 chore(default-flatpaks): Add safe-check for FlatHub flatpak IDs
Should avoid issues of users typing ID wrongly, which would fail the whole module on booted system, so nothing would get installed or removed.

Only FlatHub repo is supported as it's the most popular flatpak repo & it's easy to implement safe-check for it.
2024-07-20 23:02:03 +02:00
xyny
be6e4ba5bd
feat: add typespec schemas for modules (#233)
* feat: add typespec for bling and akmods for testing

* chore: temporarily change module source to dev branch

* feat: add missing module typespecs from blue-build/schema

* feat: add schemas for default-flatpaks module

* chore: annotate some parameters as optional

* fix: typo in default-flatpaks schema

* feat: add schema for files module

* feat: add script module schema

* feat: add signing module schema

* docs: add module.yml docs etc.

* fix(default-flatpaks): don't capitalize string in typespec

* feat: add schemas for gnome-extensions

* fix(files): properly declare string: string record type

* chore: add tsp for gschema-overrides

* chore: tsp for systemd module

* chore: add link to systemd tsp to module.yml

* chore: add tsp for yafti module

* feat: add docstrings for files module

* feat: add tsp for chezmoi module

* feat: docstrings for akmods tsp

* feat: docstrings for bling tsp

* feat: docstrings for default flatpaks tsp

* fix: link to files module docs page in files module tsp

* feat: docstrings for fonts module tsp

* feat: add docstrings for gnome extensions tsp

* feat: docstrings for gschema overrides tsp

* feat: docstrings for rpm ostree tsp

* feat: docstrings for script tsp

* feat: docstrings for signing module

* feat: docstrings for systemd tsp

* feat: docstrings for yafti module

* fix: typo in files tsp

* feat: typespec for brew module

* chore: update rpm ostree tsp for keys: prop

* fix: use typespec to declare default values

* fix: errors from previous commit

* docs: add typespec instructions

* docs: chore: add typespec docs link for docs syntax

* chore: switch to semicolon for ending property definitions

* docs: fix: typo inlude -> include

* feat: tsp for justfiles module

* chore: change links to reference main branch

---------

Co-authored-by: fiftydinar <65243233+fiftydinar@users.noreply.github.com>
2024-07-09 16:25:31 +00:00
fiftydinar
2c1fdca91f fix(default-flatpaks): Use separate if condition instead of elif when appending IDs to list 2024-06-19 16:59:11 +02:00
fiftydinar
e668d2ef02
fix(default-flatpaks): Last module definition overwrites the 1st one (#263) 2024-06-19 14:29:54 +00:00
fiftydinar
62232260b4 docs(default-flatpaks): Add known issue about https://github.com/blue-build/modules/issues/231 2024-05-17 09:03:21 +02:00
fiftydinar
2f304f0d71
docs(default-flatpaks): Add current known issues (#171)
I wanted to do this before, but forgot
2024-03-21 11:24:30 +00:00
xyny
52f6bdbfd2
refactor: migration PR 2024-02-25 16:48:55 +00:00
fiftydinar
fec6a76116
chore(default-flatpaks): Obtain flatpak list of apps without runtimes (#142)
Since runtimes are not supported in our module, we don't need them in a flatpak list inside binaries.
2024-02-25 07:41:26 +00:00
xynydev
c6aea9234c chore: replace URLs with ublue-os/bling 2024-02-21 16:39:34 +02:00