summary refs log tree commit diff
diff options
context:
space:
mode:
authorAdam Boseley <adam.boseley@gmail.com>2015-11-05 21:39:55 +1000
committerAdam Boseley <adam.boseley@gmail.com>2016-03-05 07:56:47 +1000
commit5b83791207d1521dde3a6f7f4f70d730571668a4 (patch)
tree20d1585922905303b85a4c2481382d7ea99efe74
parent798a14d22cc3e3c9f83b2c05f417c2cdfc0f5a44 (diff)
downloadnixpkgs-5b83791207d1521dde3a6f7f4f70d730571668a4.tar
nixpkgs-5b83791207d1521dde3a6f7f4f70d730571668a4.tar.gz
nixpkgs-5b83791207d1521dde3a6f7f4f70d730571668a4.tar.bz2
nixpkgs-5b83791207d1521dde3a6f7f4f70d730571668a4.tar.lz
nixpkgs-5b83791207d1521dde3a6f7f4f70d730571668a4.tar.xz
nixpkgs-5b83791207d1521dde3a6f7f4f70d730571668a4.tar.zst
nixpkgs-5b83791207d1521dde3a6f7f4f70d730571668a4.zip
spice-vdagentd service : initial at 0.16.0
-rw-r--r--lib/maintainers.nix1
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/services/misc/spice-vdagentd.nix30
-rw-r--r--pkgs/applications/virtualization/spice-vdagent/default.nix29
-rw-r--r--pkgs/top-level/all-packages.nix2
5 files changed, 63 insertions, 0 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 7362c6ab659..84e95a2409e 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -10,6 +10,7 @@
   aaronschif = "Aaron Schif <aaronschif@gmail.com>";
   abaldeau = "Andreas Baldeau <andreas@baldeau.net>";
   abbradar = "Nikolay Amiantov <ab@fmap.me>";
+  aboseley = "Adam Boseley <adam.boseley@gmail.com>";
   adev = "Adrien Devresse <adev@adev.name>";
   aespinosa = "Allan Espinosa <allan.espinosa@outlook.com>";
   aflatter = "Alexander Flatter <flatter@fastmail.fm>";
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 5d487776be2..0105cc3cdf2 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -240,6 +240,7 @@
   ./services/misc/ripple-data-api.nix
   ./services/misc/rogue.nix
   ./services/misc/siproxd.nix
+  ./services/misc/spice-vdagentd.nix
   ./services/misc/subsonic.nix
   ./services/misc/sundtek.nix
   ./services/misc/svnserve.nix
diff --git a/nixos/modules/services/misc/spice-vdagentd.nix b/nixos/modules/services/misc/spice-vdagentd.nix
new file mode 100644
index 00000000000..f8133394ffd
--- /dev/null
+++ b/nixos/modules/services/misc/spice-vdagentd.nix
@@ -0,0 +1,30 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+let
+  cfg = config.services.spice-vdagentd;
+in
+{
+  options = {
+    services.spice-vdagentd = {
+      enable = mkEnableOption "Spice guest vdagent daemon";
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    environment.systemPackages = [ pkgs.spice-vdagent ];
+
+    systemd.services.spice-vdagentd = {
+      description = "spice-vdagent daemon";
+      wantedBy = [ "graphical.target" ];
+      preStart = ''
+        mkdir -p "/var/run/spice-vdagentd/"
+      '';
+      serviceConfig = {
+        Type = "forking";
+        ExecStart = "/bin/sh -c '${pkgs.spice-vdagent}/bin/spice-vdagentd'";
+      };
+    };
+  };
+}
diff --git a/pkgs/applications/virtualization/spice-vdagent/default.nix b/pkgs/applications/virtualization/spice-vdagent/default.nix
new file mode 100644
index 00000000000..add5f96e7f5
--- /dev/null
+++ b/pkgs/applications/virtualization/spice-vdagent/default.nix
@@ -0,0 +1,29 @@
+{stdenv, fetchurl, pkgconfig, alsaLib, spice_protocol, glib,
+ libpciaccess, libxcb, libXrandr, libXinerama, libXfixes}:
+stdenv.mkDerivation rec {
+  name = "spice-vdagent-0.16.0";
+  src = fetchurl {
+    url = "http://www.spice-space.org/download/releases/${name}.tar.bz2";
+    sha256 = "0z8gwc5va2i64mjippavmxajdb9az83ffqyhlbynm6dxw131d5av";
+  };
+  postPatch = ''
+    substituteInPlace data/spice-vdagent.desktop --replace /usr $out
+  '';
+  buildInputs = [ pkgconfig alsaLib spice_protocol glib
+                  libpciaccess libxcb libXrandr libXinerama libXfixes ] ;
+  meta = {
+    description = "Enhanced SPICE integration for linux QEMU guest";
+    longDescription = ''
+       Spice agent for linux guests offering
+       * Client mouse mode
+       * Copy and paste
+       * Automatic adjustment of the X-session resolution
+         to the client resolution
+       * Multiple displays
+    '';
+    homepage = http://www.spice-space.org/home.html;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.aboseley ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 9c116ef927d..fe5ecdf3552 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -13519,6 +13519,8 @@ let
 
   sound-juicer = callPackage ../applications/audio/sound-juicer { };
 
+  spice-vdagent = callPackage ../applications/virtualization/spice-vdagent { };
+
   spideroak = callPackage ../applications/networking/spideroak { };
 
   ssvnc = callPackage ../applications/networking/remote/ssvnc { };