Making darkman work on desktop?

I’m trying to use darkman to automatically switch between light and dark themes. This is my config:

      home-manager = {
        users.myUsername =
          {
            config,
            pkgs,
            inputs,
            ...
          }:
          {
            services.darkman = {
              enable = true;
              lightModeScripts.gtk-theme = ''
                ${pkgs.dconf}/bin/dconf write \
                    /org/gnome/desktop/interface/color-scheme "'prefer-light'"
              '';
              darkModeScripts.gtk-theme = ''
                ${pkgs.dconf}/bin/dconf write \
                    /org/gnome/desktop/interface/color-scheme "'prefer-dark'"
              '';
              settings = {
                usegeoclue = true;
                dbusserver = true;
                portal = true;
              };
            };
          };
      };
    
      services.geoclue2.enable = true;
      services.geoclue2.submitData = true;

These are the systemd service outputs:

Darkman:

Nov 29 12:59:25 NixOS-Desktop darkman[42211]: configuration.go:159: Using config file: &{0xc00007c240}
Nov 29 12:59:25 NixOS-Desktop darkman[42211]: configuration.go:166: Loaded configuration: 0xc00006e128
Nov 29 12:59:25 NixOS-Desktop darkman[42211]: location.go:48: Error reading cache file path: open /home/user/.cache/darkman/location.json: no such file or directory
Nov 29 12:59:25 NixOS-Desktop darkman[42211]: service.go:140: No location found via config.
Nov 29 12:59:25 NixOS-Desktop darkman[42211]: service.go:147: Initial mode set to: dark
Nov 29 12:59:25 NixOS-Desktop darkman[42211]: scripts.go:39: Found /home/user/.local/share/dark-mode.d/gtk-theme.
Nov 29 12:59:25 NixOS-Desktop darkman[42211]: scripts.go:59: Running /home/user/.local/share/dark-mode.d/gtk-theme...
Nov 29 12:59:25 NixOS-Desktop darkman[42211]: service.go:154: Running with D-Bus server.
Nov 29 12:59:25 NixOS-Desktop darkman[42211]: dbus.go:156: Listening on D-Bus `nl.whynothugo.darkman`...
Nov 29 12:59:25 NixOS-Desktop systemd[1564]: Started Darkman system service.
░░ Subject: A start job for unit UNIT has finished successfully
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A start job for unit UNIT has finished successfully.
░░
░░ The job identifier is 2292.
Nov 29 12:59:25 NixOS-Desktop darkman[42211]: service.go:165: Running with XDG portal.
Nov 29 12:59:25 NixOS-Desktop darkman[42211]: portal.go:195: Listening on D-Bus: org.freedesktop.impl.portal.desktop.darkman
Nov 29 12:59:25 NixOS-Desktop darkman[42211]: client.go:173: geoclue: client started.
Nov 29 13:00:25 NixOS-Desktop darkman[42211]: client.go:161: geoclue: WARNING! the server hasn't responded; is it working? Timeout is: 1m0s

Geoclue:

Nov 29 12:58:25 NixOS-Desktop systemd[1]: Starting Location Lookup Service...
Nov 29 12:58:25 NixOS-Desktop geoclue[41787]: Failed to connect to avahi service: Daemon not running
Nov 29 12:58:25 NixOS-Desktop systemd[1]: Started Location Lookup Service.
Nov 29 12:59:25 NixOS-Desktop geoclue[41787]: Failed to connect to avahi service: Daemon not running
Nov 29 12:59:25 NixOS-Desktop geoclue[41787]: Failed to query location: No WiFi networks found
Nov 29 12:59:30 NixOS-Desktop geoclue[41787]: Failed to query location: No WiFi networks found

“Failed to connect to avahi service: Daemon not running”

You might need to enable the service yourself (I haven’t looked at the geoclue module code to see what it does)

services.avahi.enable = true