Skip to content
This repository has been archived by the owner on Apr 12, 2021. It is now read-only.

Commit

Permalink
geoclue2 service: add option to run demo agent
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelpj committed Aug 14, 2018
1 parent 284fc9b commit 3166693
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 7 deletions.
39 changes: 32 additions & 7 deletions nixos/modules/services/desktops/geoclue2.nix
Expand Up @@ -4,6 +4,10 @@

with lib;

let
# the demo agent isn't built by default, but we need it here
package = pkgs.geoclue2.override { withDemoAgent = config.services.geoclue2.enableDemoAgent; };
in
{

###### interface
Expand All @@ -21,21 +25,42 @@ with lib;
'';
};

enableDemoAgent = mkOption {
type = types.bool;
default = true;
description = ''
Whether to use the GeoClue demo agent. This should be
overridden by desktop environments that provide their own
agent.
'';
};

};

};


###### implementation

config = mkIf config.services.geoclue2.enable {

environment.systemPackages = [ pkgs.geoclue2 ];

services.dbus.packages = [ pkgs.geoclue2 ];

systemd.packages = [ pkgs.geoclue2 ];

environment.systemPackages = [ package ];

services.dbus.packages = [ package ];

systemd.packages = [ package ];

# this needs to run as a user service, since it's associated with the
# user who is making the requests
systemd.user.services = mkIf config.services.geoclue2.enableDemoAgent {
"geoclue-agent" = {
description = "Geoclue agent";
script = "${package}/libexec/geoclue-2.0/demos/agent";
# this should really be `partOf = [ "geoclue.service" ]`, but
# we can't be part of a system service, and the agent should
# be okay with the main service coming and going
wantedBy = [ "default.target" ];
};
};
};

}
2 changes: 2 additions & 0 deletions nixos/modules/services/x11/desktop-managers/gnome3.nix
Expand Up @@ -93,6 +93,8 @@ in {
services.udisks2.enable = true;
services.accounts-daemon.enable = true;
services.geoclue2.enable = mkDefault true;
# GNOME should have its own geoclue agent
services.geoclue2.enableDemoAgent = false;
services.dleyna-renderer.enable = mkDefault true;
services.dleyna-server.enable = mkDefault true;
services.gnome3.at-spi2-core.enable = true;
Expand Down

0 comments on commit 3166693

Please sign in to comment.