Issues using redshift-gtk, redshift, geoclue2 interaction

I am trying to enable redshift-gtk, but I can’t get it to work. Whenever I launch redshift-gtk it appears in my i3bar, but nothing happens and the “Info” section is all default values:

image

Then, if I try to toggle “Enabled”, or Quit, I get this error message:

image

This happens even if I set location.provider = "manual"

I also tried to get just redshift working as a service, as a stepping stone to making redshift-gtk work, but it doesn’t seem to be doing anything, even though it is running as a process. However, I can run redshit -O 3000 to make it tint my screen, and redshift -x to reset.

Also, geoclue2 is running as a service, I checked.

Here is the output of ps aux | grep redshift

ken 1398 0.0 0.0 380020 6952 ? Ssl 12:18 0:00 /nix/store/vc6r59fpsbxwl94py60kl10zkmc2bpkj-redshift-1.12/bin/redshift -l geoclue2 -t 3000 3300 -b 1 1

Any help would be greatly appreciated.

Here is the relevant config broken out into a module.

{
  config,
  pkgs,
  lib,
  ...
}: {
  options = {
    redshift.enable = lib.mkEnableOption "Enables redshift and redshift-gtk";
  };

  config = lib.mkIf config.redshift.enable {
    services.redshift = {
      enable = true;

      temperature = {
        day = 6500;
        night = 3300;
      };
    };

    location = {
      #provider = "geoclue2";
      provider = "manual";

      latitude = 44.0;
      longitude = -80.0;
    };

    services.geoclue2.appConfig.redshift.isAllowed = true;
    # services.geoclue2.appConfig.redshift-gtk.isAllowed = true;
    # services.geoclue2.appConfig.redshift-gtk.isSystem = true;
    services.geoclue2.enable = true;
  };

}

geoclue2 issues have been answered here before, see e.g.