about summary refs log tree commit diff
path: root/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix
diff options
context:
space:
mode:
authorNanotwerp <Nanotwerp@gmail.com>2024-04-03 09:51:55 -0400
committerMaxine Aubrey <max@ine.dev>2024-04-22 21:11:26 +0200
commit33cafd77e7392deb7ae776ce04bcd61ea8fc7eff (patch)
tree10b3292ac900275abb58b3301d9133cc2cab0e31 /nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix
parent6bfc41b0c21d3822dc66bb4cce7955f7a893f032 (diff)
nixos/gnome-remote-desktop: support gnome 46 features
Add package to environment.systemPackages, services.dbus.packages, create gnome-remote-desktop user and group (fixes for GNOME 46)

This adds the `g-r-d` package to environment.systemPackages (allowing the usage of the `grdctl` command along with enabling `g-r-d`'s polkit rule), makes its dbus-related files recognizable to dbus, and creates the `gnome-remote-desktop` user and group necessary for systemd's running of the `gnome-remote-desktop-daemon` with the `--system` subcommand and enabling Remote Login.
Diffstat (limited to 'nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix')
-rw-r--r--nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix13
1 files changed, 13 insertions, 0 deletions
diff --git a/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix b/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix
index 85b565e8c9e38..67af93dd007fb 100644
--- a/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix
+++ b/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix
@@ -26,8 +26,21 @@ with lib;
   ###### implementation
   config = mkIf config.services.gnome.gnome-remote-desktop.enable {
     services.pipewire.enable = true;
+    services.dbus.packages = [ pkgs.gnome.gnome-remote-desktop ];
+
+    environment.systemPackages = [ pkgs.gnome.gnome-remote-desktop ];
 
     systemd.packages = [ pkgs.gnome.gnome-remote-desktop ];
     systemd.tmpfiles.packages = [ pkgs.gnome.gnome-remote-desktop ];
+
+    # TODO: if possible, switch to using provided g-r-d sysusers.d
+    users = {
+      users.gnome-remote-desktop = {
+        isSystemUser = true;
+        group = "gnome-remote-desktop";
+        home = "/var/lib/gnome-remote-desktop";
+      };
+      groups.gnome-remote-desktop = { };
+    };
   };
 }