I am unable to execute this command:
gsettings set org.gnome.shell.extensions.user-theme name "Adwaita"
It prints this error:
Le schéma « org.gnome.shell.extensions.user-theme » n’existe pas
It means the org.gnome.shell.extensions.user-theme schema does not exist.
This is happening since User Themes have moved from user extensions to system extensions.
Should I use another schema?
I found this command working:
dconf write /org/gnome/shell/extensions/user-theme/name "'theme_name'"
I don’t why this was not working with gsettings
.
We intentionally do not expose GSettings schemas into the environment, just like we do not expose lib/
, see GSettings schema of installed software not available to gsettings program or dconf-editor · Issue #33277 · NixOS/nixpkgs · GitHub .
dconf
command writes directly to the dconf database without checking schema so it will work but you need to be careful as it will allow you to write a wrong type without any warning.
1 Like
I found this article helpful: Declarative GNOME configuration with NixOS
Especially the dconf watch /
trick.
2 Likes
kereru
April 1, 2025, 8:52am
5
I use home manager to put all these dconf tweaks into my home manager .nix file which works great!
I second dtannock’s mention of dconf watch /
It is very handy for finding what values are changed when changing settings in the ui
I don’t want to use Home Manager. And I need a script to run to update my colours when switching from light to dark and vice versa. So a unique Nix config won’t help me.