1# Remote desktop daemon using Pipewire.
2{
3 config,
4 lib,
5 pkgs,
6 ...
7}:
8
9{
10 meta = {
11 maintainers = lib.teams.gnome.members;
12 };
13
14 ###### interface
15 options = {
16 services.gnome.gnome-remote-desktop = {
17 enable = lib.mkEnableOption "Remote Desktop support using Pipewire";
18 };
19 };
20
21 ###### implementation
22 config = lib.mkIf config.services.gnome.gnome-remote-desktop.enable {
23 services.pipewire.enable = true;
24 services.dbus.packages = [ pkgs.gnome-remote-desktop ];
25
26 environment.systemPackages = [ pkgs.gnome-remote-desktop ];
27
28 systemd.packages = [ pkgs.gnome-remote-desktop ];
29 systemd.tmpfiles.packages = [ pkgs.gnome-remote-desktop ];
30
31 # TODO: if possible, switch to using provided g-r-d sysusers.d
32 users = {
33 users.gnome-remote-desktop = {
34 isSystemUser = true;
35 group = "gnome-remote-desktop";
36 home = "/var/lib/gnome-remote-desktop";
37 };
38 groups.gnome-remote-desktop = { };
39 };
40 };
41}