Theming GDM Greeter

Is it possible to theme the GDM greeter/dm?
If so, how?

I haven’t found any options in the module.

It may not expose the require options, but nixos modules can always have a PR to add such options :). If you know what to do in a mainstream linux distro, then you’ve already done the majority of the work.

My current approach on ubuntu was to just directly patch or override the .css file

But that’s not really how it works

I’m wondering, does GDM theming work over a gsettings entry to switch the theme or does a file need to be replaced?

In case it’s gsettings I think something similar to the extraGSettingsOverride option for gnome-shell could work

Does anyone have got any idea about this?

Create a patch and then override the derivation to apply the patch. Obviously not the most ideal solution, but it’s fine until more someone finds out how gdm theming works.

In lightdm gtk it works by setting the gconf option “theme” in the greeter section, I think it shouldn’t be much different in gdm

Since it’s already patching the gdm config, adding an extra gsettings override option like in gnome + theme specific options to directly add those flags should do it

GDM only supports a single greeter (based on gnome-shell). It is not designed to be themed, so there is no theme setting key in either the GDM config file or GSettings (except from gnome-settings-daemon options like cursor theme). The theme name is hardcoded in gnome-shell:

so even GNOME Shell can be only themed using an extension. I am not sure if gnome-shell running in gdm mode supports extensions. You could try using enabled-extensions key from org.gnome.shell GSettings schema for the gdm user.

But extraGSettingsOverrides will not work with GDM for several reasons. Until a general dconf module is created, you can tweak the dconf database created by the gdm module.

If the extension route does not work, you will need to patch the resource files as documented on the Arch wki or Materia theme. nixpkgs.overlays would be a good place for that but it will require rebuilding gnome-shell and everything that depends on it.

It looks like theming via dconf does indeed work https://people.gnome.org/~pmkovar/system-admin-guide/login-background.html

GSD is also working in GDM https://help.gnome.org/admin/gdm/stable/configuration.html.en#gnomesettingsdaemon

Currently working on adding the DConf keys

I’ve got a commit here: https://github.com/NixOS/nixpkgs/commit/80330081853b9acedf557ff73ff28913dece2486

But it’s not loading the values properly

So the profile stuff seems to work, it isn’t properly applying the values though.
They seem to work provided by various documentation sources, so it’s weird that they don’t.
For ex ubuntu has now got support for this as well.

I would not trust random documentation sites to be up to date. Many things changed since 2012.

Edit: Even the GConf stuff in the official GDM docs is out of date.

:thinking:

The latest ubuntu 19.10 mentions this in it’s config

So I’m not sure if this can be so much outdated then?