The layout can be configured with org/gnome/shell/app-picker-layout
and org/gnome/desktop/app-folders
in dconf. It mostly works but GNOME usually refreshes the layout and messes up it. If I don’t configure it in dconf the layout won’t be changed.
Hey man ! Don’t know if you ended up finding a solution but I’ll leave this here just in case.
The syntax for the app picker layout is a bit verbose but you can find resources on it at this link : Write key:value using lib.hm.gvariant for home-manager
In my case I created the following function :
apl-entry = with lib.hm.gvariant; name: (position:
(mkDictionaryEntry[name (mkVariant [
(mkDictionaryEntry["position" (mkVariant position)])
])])
);
and then used it like this :
app-picker-layout = [
[ # app drawer 1
(apl-entry "Desktop" 0)
(apl-entry "System" 1)
(apl-entry "Utilities" 2)
(apl-entry "beeper.desktop" 3)
(apl-entry "steam.desktop" 4)
]
[ # app drawer 2 ]
];
Hope this helps
This is basically what I did. And GNOME just messes up it.
What do you mean messes it up? What syntax did you use?
If you use NixOS dconf
module, you could try locking the setting so that GNOME cannot change it. Not sure if it won’t break something, though.
What do you mean messes it up? What syntax did you use?
app-picker-layout = with lib; [
(
(
list:
zipListsWith (
k: p: mkDictionaryEntry k (mkVariant (mkDictionaryEntry "position" (mkVariant (mkInt32 p))))
) list (genList (x: x) (length list))
)
[
"Office"
"System"
"Utilities"
]
)
];
The order should be Office, System and Utilities. But several seconds after I login, GNOME reverts the order automatically.
It’s locked and I can’t change it manually. But GNOME can change it.