Commit graph

30 commits

Author SHA1 Message Date
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
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
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
fiftydinar
1e1197dd0b
refactor(default-flatpaks): Switch to standardized BlueBuild location, implement useful docs into files & make flatpak detection + comparison more robust (#122)
* chore(default-flatpaks): Switch to standardized BlueBuild location

Use

`/usr/etc/bluebuild/default-flatpaks`

location instead of

`/usr/etc/flatpaks`

If possible, we should ideally use this location for system modifications:

`/usr/share/bluebuild/default-flatpaks`

While having user modifications in:

`/usr/etc/bluebuild/default-flatpaks`

But it needs to be figured out how the logic will work for separating system & user modifications this way.

I used this logic in unofficial `initramfs-setup` module & it works well, by merging both system & user files into 1 output.

However, this method can create duplicates if user specified it in it's modification, so I mentioned that user should look if the system entry has modifications they need. Perhaps, array diff can be done, which would circumvent this.

So merge this for start.

Only other module which has potential for migrating to standardized BlueBuild config is yafti (more details in other PR I'll do in some time).

* refactor(default-flatpaks): Make default-flatpaks more robust

Document in detail to user how he can change the config in files itself.

Also document what files do in `/usr/share/bluebuild/default-flatpaks` as well.

Refactor flatpak lists detection to be more reliable by excluding words starting with # symbols, whitelines & duplicate entries. Use `comm` for comparing flatpak list to existing flatpaks output instead of using `grep`, as it's easier to use & it's more reliable.

Separate user's & maintainer's modifications better by utilizing read-only `/usr/share/bluebuild/default-flatpaks` directory for maintainers, while for users we would use `(/usr)/etc/bluebuild/default-flatpaks` directory. Reverting to defaults is more reliable as it would avoid users from touching maintainer's modification directly.

I wouldn't modify repo-info.yml doc content, as we restrict it from user's modification & we wouldn't want to potentially ruin yaml parsing just for that.

Only thing that remains is to test this in a VM. And look to potentially make code cleaner.

* draft(default-flatpaks): Avoid install/remove duplicate loop scenario

I have to figure out this part

* draft(default-flatpaks): Avoid install/remove duplicate loop scenario pt.2

* draft(default-flatpaks): Avoid install/remove duplicate loop scenario pt.3

* fix(default-flatpaks): Avoid install/remove duplicate loop scenario

* chore(default-flatpaks): minor grammar adjustment

* draft(default-flatpaks): Account for scenario...

when user sets the same package in install list that is in maintainer's remove list & vice-versa

* fix(default-flatpaks): Account for scenario when user sets the same package in install list that is in maintainer's remove list & vice-versa

* fix(default-flatpaks): Typo in code for combined install list

* chore(default-flatpaks): Remove unnecessary echo

* chore(default-flatpaks): Make directory for user config

* chore(default-flatpaks): Explain user's vs maintainer's flatpak list situation better

* fix(default-flatpaks): Typo in user's configuration for system flatpaks install

* chore(default-flatpaks): There is no need to mkdir parent folder if child folder is created

* chore(default-flatpaks): Make config organization cleaner

Don't use echos for writing configs, use files instead for easier & more intuitive editing.

* fix(default-flatpaks): Copy notification file properly

Made a mistake in variable name

* docs: README fixes

- don't use ambiguous term "live-user"
- capitalize Flatpak
- grammar and phrasing changes

* docs: grammar and phrasing changes in configuration file docs

- replace "maintainer's config" with "image's default config"
- rewrite flatpak list format explanation

* docs: slightly reword local modification section again

* chore(default-flatpaks): Add a missing newline to system flatpak list

---------

Co-authored-by: xynydev
2024-02-11 09:33:05 +00:00
xyny
5e455a1477
refactor: start using module.yml for module metadata (#116)
* feat: add initial module.yml for rpm-ostree

* chore: add shortdesc to module.yml

* feat: add missing module.ymls

* feat: add website rebuild action for module reference updates

* chore: remove old readme in modules dir

* refactor: switch to a hybrid module.yml + README arrangement

* chore: switch docs to use starlight aside syntax
2024-02-04 16:05:22 +00:00
fiftydinar
fe9cd68c6a
fix(default-flatpaks): Install/uninstall system flatpaks regardless i… (#100)
* fix(default-flatpaks): Install/uninstall system flatpaks regardless if current user has permissions or not

Fixes: https://github.com/ublue-os/bling/pull/93

To make notify-send working for --system systemd units, I have to thank @gerblesh for his code & idea in ublue-updater.

I tested this in Silverblue & it works.
However, I would like this to be tested in other DEs like Kinoite too, to see if it's working correctly.

Feel free to improve code if you find some space for that.

@lorduskordus

* Use json parser instead as a more reliable solution on fetching values

* There is no need for echo when parsing json

* Fetch DISPLAY environment variable from printenv

* Make functions for notify-sends, to make script clearer

* Whiteline fixes
2024-01-20 16:38:51 +00:00
fiftydinar
f08f1b26d1
Update README.md 2023-12-29 02:18:35 +01:00
fiftydinar
d32dc2ed2d fix(default-flatpaks): Clarify branched flatpaks support better 2023-12-28 21:24:55 +01:00
fiftydinar
ec020cd2ca
fix(default-flatpaks): Missing notification for system flatpaks (#87)
* fix:(default-flatpaks): Missing notification for system flatpaks

This approach, while more fragmented, it's cleaner, as there is a clearer separation of root & non-root operations done by flatpak-setup service. This should probably increase security too (but I'm not the expert to talk seriously about that). It also gets rid of some non-harming error for /var data, can't remember it fully.

While it may be confusing for users that they have to type:

`systemctl status --user system-flatpak-setup`

instead of previous:

`systemctl status system-flatpak-setup`

It is something worth sacrificing for the important user-experience fix.
2023-12-27 09:12:49 +00:00
fiftydinar
bd92e7e5c5
feat(default-flatpaks): Add info about which flatpaks are installed (#85)
* feat(default-flatpaks): Add info about which flatpaks are installed & uninstalled in notification. Also implement notification enable/disable config support.

* feat(default-flatpaks): Add support for configuring notifications in recipe file

* fix(default-flatpaks): Formatting fixes

* fix(default-flatpaks): Fix "enabling" typo instead of "configuring" notifications

* chore(default-flatpaks): Remove unused yq command

* fix(default-flatpaks): There is no need for 2 double quotes
2023-12-21 20:34:33 +00:00
fiftydinar
dbc867ff55 Indicate that module skips flatpak install/uninstall if no changes are detected 2023-12-20 11:24:00 +01:00
fiftydinar
07f1797838 Delete some README misinformation
It will loop on every boot to install & uninstall
2023-12-20 10:15:14 +01:00
fiftydinar
09af3b3602 Tiny README fix 2023-12-20 09:59:50 +01:00
fiftydinar
bf753ad0b6 Update README information to reflect these changes 2023-12-20 09:54:12 +01:00
Patrick Csikos
f0c0192e10
feat(default-flatpaks): Better handle multiple uses of module (#74)
* fix(default-flatpaks): Always enable systemd services

Ensures that the module always removes Fedora Flatpaks, even if a
system-wide flatpak remote isn't configured for the module.

* chore(default-flatpaks): Add output for result of repo config

* fix(default-flatpaks): Better handle multiple uses of module

* chore(default-flatpaks): Add label to output of existing config

* docs(default-flatpaks): Mention that Flatpak remote can be re-configured

* docs(default-flatpaks): Add second example to README

* docs(default-flatpaks): Clarify repo config in second example
2023-11-18 12:43:55 +00:00
Patrick Csikos
d83d721c18
docs(default-flatpaks): Make example config match other modules (#65)
* docs(default-flatpaks): Make example config match other modules

* docs(default-flatpaks): Indent list items in example config

Does seem to work if they aren't indented, but this way matches other
modules and seems to be best practice
2023-10-22 09:16:42 +00:00
xyny
5e6bc4c7ae
docs(default-flatpaks): put essential function first 2023-10-21 10:24:09 +00:00
zelikos
8bc41e6077
fix(default-flatpaks): Check that system/user configuration is present 2023-10-14 12:50:47 -04:00
zelikos
a4b8151e28
docs: Clarify default-flatpaks remote configuration 2023-10-14 11:44:44 -04:00
zelikos
30931ed9c2
fix: Use Flathub as default remote for default-flatpaks 2023-10-14 11:43:13 -04:00
xyny
a774b670a9
docs: explain default-flatpaks /etc/flatpak/ structure 2023-10-14 09:39:53 +00:00
zelikos
3250cdc8aa
docs: Explain flatpak module files and how they work 2023-10-04 13:05:00 -04:00
zelikos
98a71af459
docs: Show that flatpak remotes can be added without installing flatpaks from them 2023-10-02 21:22:53 -04:00
zelikos
d0e1434b1d
docs: Mention that Fedora Flatpaks remote is removed 2023-10-02 21:20:23 -04:00
zelikos
a170c42811
docs: Show repo configuration in example 2023-10-02 21:12:02 -04:00
zelikos
eff377bbc3
docs: Explain per-user installs and how to re-run setup 2023-10-02 21:11:07 -04:00
zelikos
35df5c34b6
chore: Rename module to default-flatpaks 2023-10-02 11:49:22 -04:00