{
  # enable location service
  location.provider = "geoclue2";

  # provide location
  services.geoclue2 = {
    enable = true;
    geoProviderUrl = "https://api.beacondb.net/v1/geolocate";
    submissionUrl = "https://api.beacondb.net/v2/geosubmit";
    submissionNick = "geoclue";

    appConfig = {
      gammastep = {
        isAllowed = true;
        isSystem = false;
      };
      "xdg-desktop-portal" = {
        isAllowed = true;
        isSystem = true;
      };
      "gnome-weather" = {
        isAllowed = true;
        isSystem = true;
      };
      "gnome-clocks" = {
        isAllowed = true;
        isSystem = true;
      };
    };
  };

  # Automatically update system timezone based on location
  services.automatic-timezoned.enable = true;
}
