On NixOS 20.03 channel it used to work (Adwaita Dark was used instead). As far as I remember just because I set environment.variables.GTK_THEME = "Adwaita:dark"; (see https://github.com/unclechu/nixos-config/blob/41e8bc34a12d018f645cfabcd892cab381e583c1/configuration.nix#L125).
But when I switched to nixos-unstable channel it stopped inheriting the dark theme. As well as now on nixos-20.09:

My GnuPG config:
https://github.com/unclechu/nixos-config/blob/41e8bc34a12d018f645cfabcd892cab381e583c1/configuration.nix#L157
Can you try environment.sessionVariables?
@worldofpeace It did work for me, even LightDM now is inheriting the Adwaita Dark theme, that I haven’t seen before. Thanks!
The commit which fixes it: https://github.com/unclechu/nixos-config/commit/4556b2029980a2303bcf0a00708053457f197646

By the way. When the environment.variables are applied?
I believe you noticed this change because this stuff got moved into a systemd user service, and environment.variables does nothing for them.
When the environment.variables are applied?
Do you mean how they are applied?
@worldofpeace
Do you mean how they are applied?
I specifically mean “when”, like at what stage. I assume it should have some layers. Like I could imagine env vars defied at:
Lightdm is a special exception because it uses clearenv so sessionVariables (which uses pam) is the only option that can influence it https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/x11/display-managers/lightdm.nix#L287.
environment.variables is set from set-environment which is sourced into shell environments as early as possible https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/config/shells-environment.nix#L184