Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Switch from dconf to gschema-overrides #1716

Merged
merged 16 commits into from
Oct 1, 2024
Merged

chore: Switch from dconf to gschema-overrides #1716

merged 16 commits into from
Oct 1, 2024

Conversation

fiftydinar
Copy link
Collaborator

@fiftydinar fiftydinar commented Sep 28, 2024

What I did

I removed gdm profile because it's already present in /usr/share/dconf/profile/.

I removed touchpad tap-to-click setting, because it's already the default since Gnome 46 (next GTS will be on Gnome 46).

I removed user profile because it's already present in /etc/dconf/profile/.

I moved dconfs from local.d to distro.d, as that's recommended to do as a distribution/custom image maintainer. local.d is intended for local-users, so let's make that easier for them.

Relocatable schemas & locked settings are not supported in gschema-overrides, hence why they remained in dconf.

I commented the gschema override, to make it easier to see where relocatable schemas are located.

gsettings list-relocatable-schemas can be used to check those on booted system.

We use zz0- prefix for gschema override, so that we can assure that Fedora gschema-override defaults won't override Bluefins. Downstreams can use zz1-, zz2-, zz3-, etc. prefix, like I recommend BlueBuild users to do so.

Gschema overrides can be checked in build-time for errors in case some keys get migrated or someone makes an unintentional typing mistake, where dconf ones can't. So let's utilize that to our advantage.

Testing

Bluefin should work without problems, but I'll have to additionally test Aurora, to see how Ptyxis dconfs are handled there.

I removed `gdm` profile because it's already present in `/usr/share/dconf/profile`.

I removed touchpad tap-to-click setting, because it's already the default since Gnome 46 (next GTS will be on Gnome 46).

I removed `user` profile because it's already present in `/etc/dconf/profile/`.

I moved dconfs from `local.d` to `distro.d`, as that's recommended to do as a distribution/custom image maintainer.
`local.d` is intended for local-users, so let's make that easier for them.

Relocatable schemas & locked settings are not supported in gschema-overrides, hence why they remained in dconf.

I commented the gschema override, to make it easier to see where relocatable schemas are located.

`gsettings list-relocatable-schemas` can be used to check those.

We use `zz0-` prefix for gschema override, so that we can assure that Fedora gschema-override defaults won't override Bluefins.  Downstreams can use `zz1-`, `zz2-`, `zz3-`, etc. prefix, like I recommend BlueBuild users to do so.

Gschema overrides can be checked in build-time for errors in case some keys get migrated or someone makes an unintentional typing mistake, where dconf ones can't.
So let's utilize that to our advantage.

Bluefin should work without problems, but I'll have to additionally test Aurora, to see how Ptyxis dconfs are handled there.
@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Sep 28, 2024
@fiftydinar fiftydinar marked this pull request as draft September 28, 2024 16:42
@fiftydinar fiftydinar marked this pull request as ready for review September 28, 2024 18:00
@fiftydinar
Copy link
Collaborator Author

Tested Aurora, it works great

Those 2 extensions miss gschema xml, hence the reason why gschema overrides doesn't work for them.

This is fixable, but not by me.
@fiftydinar
Copy link
Collaborator Author

Tested & fixed remaining Bluefin settings, everything works!

This is ready to merge

@castrojo
Copy link
Member

I removed touchpad tap-to-click setting, because it's already the default since Gnome 46 (next GTS will be on Gnome 46).

What happens to existing gts users if this merges right now?

@fiftydinar
Copy link
Collaborator Author

fiftydinar commented Sep 28, 2024

What happens to existing gts users if this merges right now?

They'll have this setting off by default

Unless the user manually toggled off, then on that setting, which is very unlikely

@castrojo
Copy link
Member

Ok what about leaving it in for now but leaving a comment like # TODO: Remove this after F40 becomes gts and then we can clean it up after?

@fiftydinar
Copy link
Collaborator Author

Ok what about leaving it in for now but leaving a comment like # TODO: Remove this after F40 becomes gts and then we can clean it up after?

No problem, I'll add it back

@fiftydinar
Copy link
Collaborator Author

Added

bsherman
bsherman previously approved these changes Oct 1, 2024
Copy link
Contributor

@bsherman bsherman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did a local image build of bluefin (not aurora) with these changes. Nothing sticks out to me as problematic.

And as I mentioned in Discord, I'm using the same general approach in my custom image, too. So this seems like a fair change to me.

@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Oct 1, 2024
@fiftydinar
Copy link
Collaborator Author

@bsherman There is this PR, which modifies dconf.
#1729

What do you think about merging that, then I will update this PR with those changes, @castrojo approves & merge?

@castrojo
Copy link
Member

castrojo commented Oct 1, 2024

Great idea, I merged that PR, ready to go!

@fiftydinar
Copy link
Collaborator Author

@castrojo Ready!

@castrojo castrojo merged commit 68a853e into ublue-os:main Oct 1, 2024
40 of 52 checks passed
@fiftydinar fiftydinar deleted the switch-to-gschema-overrides branch October 1, 2024 16:37
rrenomeron added a commit to rrenomeron/ublue-tr that referenced this pull request Oct 9, 2024
- See ublue-os/bluefin#1716
- Rename our gschema overrides to match convention
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lgtm This PR has been approved by a maintainer size:L This PR changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants