summary refs log tree commit diff
diff options
context:
space:
mode:
authorworldofpeace <worldofpeace@protonmail.ch>2019-06-04 23:11:34 -0400
committerGitHub <noreply@github.com>2019-06-04 23:11:34 -0400
commit094e150804d9a0fce7c88b6fdb408f44098760d9 (patch)
tree7c23dc7c10524b76b9232eaf4e997f56a811c56e
parent9d29db09d07a3a864306d3c8acc193c25ac3ce90 (diff)
parent82135b6c81342f02b4c6f71cda5d0465d29a70a3 (diff)
downloadnixpkgs-094e150804d9a0fce7c88b6fdb408f44098760d9.tar
nixpkgs-094e150804d9a0fce7c88b6fdb408f44098760d9.tar.gz
nixpkgs-094e150804d9a0fce7c88b6fdb408f44098760d9.tar.bz2
nixpkgs-094e150804d9a0fce7c88b6fdb408f44098760d9.tar.lz
nixpkgs-094e150804d9a0fce7c88b6fdb408f44098760d9.tar.xz
nixpkgs-094e150804d9a0fce7c88b6fdb408f44098760d9.tar.zst
nixpkgs-094e150804d9a0fce7c88b6fdb408f44098760d9.zip
Merge pull request #61729 from worldofpeace/geoclue/no-root
nixos/geoclue2: don't run as root
-rw-r--r--nixos/modules/services/desktops/geoclue2.nix13
-rw-r--r--pkgs/development/libraries/geoclue/default.nix1
2 files changed, 14 insertions, 0 deletions
diff --git a/nixos/modules/services/desktops/geoclue2.nix b/nixos/modules/services/desktops/geoclue2.nix
index a16dbc04a5f..040fe157d52 100644
--- a/nixos/modules/services/desktops/geoclue2.nix
+++ b/nixos/modules/services/desktops/geoclue2.nix
@@ -188,6 +188,19 @@ in
 
     systemd.packages = [ package ];
 
+    users.users.geoclue = {
+      isSystemUser = true;
+      home = "/var/lib/geoclue";
+      group = "geoclue";
+      description = "Geoinformation service";
+    };
+
+    users.groups.geoclue = {};
+
+    systemd.tmpfiles.rules = [
+      "d /var/lib/geoclue 0755 geoclue geoclue"
+    ];
+
     # restart geoclue service when the configuration changes
     systemd.services."geoclue".restartTriggers = [
       config.environment.etc."geoclue/geoclue.conf".source
diff --git a/pkgs/development/libraries/geoclue/default.nix b/pkgs/development/libraries/geoclue/default.nix
index 70319c9151f..6a44f01d011 100644
--- a/pkgs/development/libraries/geoclue/default.nix
+++ b/pkgs/development/libraries/geoclue/default.nix
@@ -42,6 +42,7 @@ stdenv.mkDerivation rec {
     "-Ddemo-agent=${if withDemoAgent then "true" else "false"}"
     "--sysconfdir=/etc"
     "-Dsysconfdir_install=${placeholder "out"}/etc"
+    "-Ddbus-srv-user=geoclue"
   ] ++ optionals stdenv.isDarwin [
     "-D3g-source=false"
     "-Dcdma-source=false"