summary refs log tree commit diff
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2018-09-29 03:34:39 +0200
committerJan Tojnar <jtojnar@gmail.com>2018-11-30 21:35:21 +0100
commitd359635ab41bcea7de439465299570c0d6a5f576 (patch)
treee531a663023fa0e1a1c405e0a26e9b71820de34a
parent181a9865fc93bc4f6ca44022f2dadaf135802ddc (diff)
downloadnixpkgs-d359635ab41bcea7de439465299570c0d6a5f576.tar
nixpkgs-d359635ab41bcea7de439465299570c0d6a5f576.tar.gz
nixpkgs-d359635ab41bcea7de439465299570c0d6a5f576.tar.bz2
nixpkgs-d359635ab41bcea7de439465299570c0d6a5f576.tar.lz
nixpkgs-d359635ab41bcea7de439465299570c0d6a5f576.tar.xz
nixpkgs-d359635ab41bcea7de439465299570c0d6a5f576.tar.zst
nixpkgs-d359635ab41bcea7de439465299570c0d6a5f576.zip
gnome3.gnome-remote-desktop: init at 0.1.6
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/services/desktops/gnome3/gnome-remote-desktop.nix18
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-remote-desktop/default.nix41
-rw-r--r--pkgs/desktops/gnome-3/default.nix2
4 files changed, 62 insertions, 0 deletions
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 75e8446523f..e476efb79a3 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -246,6 +246,7 @@
   ./services/desktops/gnome3/gnome-documents.nix
   ./services/desktops/gnome3/gnome-keyring.nix
   ./services/desktops/gnome3/gnome-online-accounts.nix
+  ./services/desktops/gnome3/gnome-remote-desktop.nix
   ./services/desktops/gnome3/gnome-online-miners.nix
   ./services/desktops/gnome3/gnome-terminal-server.nix
   ./services/desktops/gnome3/gnome-user-share.nix
diff --git a/nixos/modules/services/desktops/gnome3/gnome-remote-desktop.nix b/nixos/modules/services/desktops/gnome3/gnome-remote-desktop.nix
new file mode 100644
index 00000000000..021f4f9534b
--- /dev/null
+++ b/nixos/modules/services/desktops/gnome3/gnome-remote-desktop.nix
@@ -0,0 +1,18 @@
+# Remote desktop daemon using Pipewire.
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+{
+  ###### interface
+  options = {
+    services.gnome3.gnome-remote-desktop = {
+      enable = mkEnableOption "Remote Desktop support using Pipewire";
+    };
+  };
+
+  ###### implementation
+  config = mkIf config.services.gnome3.gnome-remote-desktop.enable {
+    systemd.packages = [ pkgs.gnome3.gnome-remote-desktop ];
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/gnome-remote-desktop/default.nix b/pkgs/desktops/gnome-3/core/gnome-remote-desktop/default.nix
new file mode 100644
index 00000000000..6fab2d5b0b7
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-remote-desktop/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitLab, meson, ninja, pkgconfig, python3, wrapGAppsHook
+, glib, pipewire, systemd, libvncserver, libsecret, libnotify, gdk_pixbuf, gnome3 }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-remote-desktop-${version}";
+  version = "0.1.6";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "jadahl";
+    repo = "gnome-remote-desktop";
+    rev = version;
+    sha256 = "1d49kxhi1bn8ssh6nybg7d6zajqwc653czbsms2d59dbhj8mn75f";
+  };
+
+  nativeBuildInputs = [ meson ninja pkgconfig python3 wrapGAppsHook ];
+
+  buildInputs = [
+    glib pipewire systemd libvncserver libsecret libnotify
+    gdk_pixbuf # For libnotify
+  ];
+
+  postPatch = ''
+    substituteInPlace meson.build --replace pipewire-0.1 pipewire-0.2
+
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
+  '';
+
+  mesonFlags = [
+    "-Dsystemd_user_unit_dir=${placeholder "out"}/lib/systemd/user"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/Mutter/RemoteDesktop;
+    description = "GNOME Remote Desktop server";
+    maintainers = gnome3.maintainers;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 7050147e920..26600bf0e62 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -121,6 +121,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-online-miners = callPackage ./core/gnome-online-miners { };
 
+  gnome-remote-desktop = callPackage ./core/gnome-remote-desktop { };
+
   gnome-session = callPackage ./core/gnome-session { };
 
   gnome-shell = callPackage ./core/gnome-shell { };