i18n.extraLocaleSettings does not behave as expected

I have bit of a weird setup, because I want my system in en_US.UTF-8, but I also want a sane date format so I set LC_TIME to en_GB.UTF-8, and because I’m from Czechia I set for ex. LC_MONETARY to cs_CZ.UTF-8.

So my locale settings look something like this:

{
  # ...
  i18n = {
    defaultLocale = "en_US.UTF-8";
    extraLocaleSettings = {
      LC_TIME = "en_GB.UTF-8";
      LC_MONETARY = "cs_CZ.UTF-8";
      # Some other settings set to cs_CZ.UTF-8
    };
  };
  # ...
}

But when I run locale it returns this:

LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_GB.UTF-8
LC_TIME=en_GB.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_GB.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_GB.UTF-8
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT=en_GB.UTF-8
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

It kinda feels like a bug, but I’m probably just doing something wrong and completely missing it

This should work, but you will need to either reboot or login again for the session variables to change.

It’s been a few days since I set it up. But just to double check I did re-run nixos-rebuild switch and rebooted, still nothing. Here is my config (I actually haven’t set all of the settings I want to set because I noticed it does not work)