Custom gsettings schema being ignored in XDG_DATA_DIRS

Hey folks,

So I’m currently in the process of trying to build packages for cinnamon (desktop environment from Linux Mint) and so far am making reasonable progress but I’m facing an issue at the moment.

When I install the following packages:

They all install successfully but when I then run cinnamon-session I am greeted with the following:

(process:21331): GLib-GIO-ERROR **: 23:10:47.855: Settings schema ‘org.cinnamon.SessionManager’ is not installed
Trace/breakpoint trap

The gsettings schema for org.cinnamon.SessionManager should be installed by the cinnamon-session package and is present in $cinnamon-session/share/ but does not seem to be picked up by the binary despite me referencing that path in a wrapper script.

Can anyone provide guidance on where I’m going wrong here?

Thanks!

Hi @chrisaw, you need to add wrapGAppsHook to nativeBuildInputs.
In NixOS gsettings schemas are not installed, so we just use wrapper script to append to XDG_DATA_DIRS etc.

If you have any other issues packaging cinnamon I could be a great assistance to you on the GTK side of things.

(available on freenode as worldofpeace and of course here)

This (?) issue (or solution rather) comes up so often I wish we could do something about it. :frowning:

worldofpeace informs me that work is being done on this: https://github.com/NixOS/nixpkgs/pull/43150

Looks like docs will be merged at some point which clears a lot of the confusion around XDG_DATA_DIRS up!

Cool! Thanks!

I’d prefer an automatic solution for “widespread” problems, but I don’t have any good suggestions - or at least some kind of error that points people in the right direction.
Finally getting documentation for the GNOME stuff does sound great though! At least there is somewhere to point people. (and if I forget the name of the hook for the n+1-th time :P)