diff --git a/nixos/modules/services/desktop-managers/cosmic.nix b/nixos/modules/services/desktop-managers/cosmic.nix index 67a6f8625c6e..58e4a10177be 100644 --- a/nixos/modules/services/desktop-managers/cosmic.nix +++ b/nixos/modules/services/desktop-managers/cosmic.nix @@ -140,13 +140,21 @@ in security.rtkit.enable = true; services.accounts-daemon.enable = true; services.displayManager.sessionPackages = [ pkgs.cosmic-session ]; - services.geoclue2.enable = true; - services.geoclue2.enableDemoAgent = false; services.libinput.enable = true; services.upower.enable = true; # Required for screen locker security.pam.services.cosmic-greeter = { }; + # geoclue2 stuff + services.geoclue2.enable = true; + # We _do_ use the demo agent in the `cosmic-settings-daemon` package, + # but this option also creates a systemd service that conflicts with the + # `cosmic-settings-daemon` package's geoclue2 agent. Therefore, disable it. + services.geoclue2.enableDemoAgent = false; + # As mentioned above, we do use the demo agent. And it needs to be + # whitelisted, otherwise it doesn't run. + services.geoclue2.whitelistedAgents = [ "geoclue-demo-agent" ]; # whitelist our own geoclue2 agent o + # Good to have defaults hardware.bluetooth.enable = lib.mkDefault true; networking.networkmanager.enable = lib.mkDefault true;