How to set GNOME Shell theme with home manager?

I have been trying to set my GNOME Shell theme to WhiteSur-Dark-solid using my home.nix file. Currently, I have this in it:

dconf = {
   enable = true;
   settings = {
    "org/gnome/desktop/background" = {
      color-shading-type = "solid";
      picture-uri = "file:///run/current-system/sw/share/backgrounds/Photo%20of%20Valley.jpg";
      picture-uri-dark = "file:///run/current-system/sw/share/backgrounds/Photo%20of%20Valley.jpg";
    };
    "org/gnome/desktop/interface" = {
      color-scheme = "prefer-dark";
      gtk-theme = "WhiteSur-Dark-solid";
      icon-theme = "WhiteSur-Dark";
      cursor-theme = "WhiteSur-cursors";
    };
    "org/gnome/shell" = {
      enabled-extensions = [
        "dash-to-dock@micxgx.gmail.com"
        "show-desktop-button@amivaleo"
        "user-theme@gnome-shell-extensions.gcampax.github.com"
      ];
      favorite-apps = [
        "org.gnome.Nautilus.desktop"
        "firefox.desktop"
        "org.gnome.Terminal.desktop"
        "org.gnome.TextEditor.desktop"
        "gvim.desktop"
        "org.gnome.Extensions.desktop"
        "org.gnome.Settings.desktop"
        "org.gnome.tweaks.desktop"
        "nixos-manual.desktop"
      ];
      extensions = {
        user-theme = {
          name = "WhiteSur-Dark-solid";
        };
      };
      };
    };
  };

Rebuilding this gives the error:

error: A definition for option `home-manager.users.fusion809.dconf.settings."org/gnome/shell".extensions' is not of type `GVariant value'. Definition values:

How do I need to format the extensions = { part of my home.nix file to get this to work?

I found a way around this, namely adding:

"org/gnome/shell/extensions/user-theme" = {
   name = "WhiteSur-Dark-solid";
};

outside of the "/org/gnome/shell" = variable. If anyone has a way of including this within "/org/gnome/shell", that’d be great.

That’s not a workaround, that’s the correct way. Based on how the module is currently written, you cannot use "org/gnome/shell".extensions.user-theme, that is completely different from "org/gnome/shell/extensions/user-theme".

Ah, okay. Thanks for letting me know!