summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/gnome-2/default.nix2
-rw-r--r--pkgs/desktops/gnome-2/desktop/nautilus/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/at-spi2-core/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/dconf/default.nix19
-rw-r--r--pkgs/desktops/gnome-3/core/eog/default.nix28
-rw-r--r--pkgs/desktops/gnome-3/core/evince/default.nix27
-rw-r--r--pkgs/desktops/gnome-3/core/gconf/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/core/gcr/default.nix12
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-keyring/default.nix19
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-session/default.nix29
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-terminal/default.nix21
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/core/libcroco/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/libgee/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/core/libgee/fix_introspection_paths.patch13
-rw-r--r--pkgs/desktops/gnome-3/core/libgweather/default.nix13
-rw-r--r--pkgs/desktops/gnome-3/core/libgxps/default.nix20
-rw-r--r--pkgs/desktops/gnome-3/core/libpeas/default.nix22
-rw-r--r--pkgs/desktops/gnome-3/core/libqmi/default.nix16
-rw-r--r--pkgs/desktops/gnome-3/core/libzapojit/default.nix16
-rw-r--r--pkgs/desktops/gnome-3/core/nautilus/default.nix27
-rw-r--r--pkgs/desktops/gnome-3/core/rest/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/core/vte/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/core/zenity/default.nix13
-rw-r--r--pkgs/desktops/gnome-3/default.nix38
-rw-r--r--pkgs/desktops/gnome-3/desktop/file-roller/default.nix29
-rw-r--r--pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix23
-rw-r--r--pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix15
-rw-r--r--pkgs/desktops/gnome-3/desktop/gtksourceview/default.nix19
-rw-r--r--pkgs/desktops/gnome-3/desktop/rarian/default.nix5
-rw-r--r--pkgs/desktops/gnome-3/desktop/scrollkeeper/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/misc/gitg/default.nix50
-rw-r--r--pkgs/desktops/gnome-3/misc/goffice/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix21
-rw-r--r--pkgs/desktops/xfce/applications/parole.nix43
-rw-r--r--pkgs/desktops/xfce/default.nix1
41 files changed, 606 insertions, 101 deletions
diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix
index 50fd8344c82..6a8f9d15778 100644
--- a/pkgs/desktops/gnome-2/default.nix
+++ b/pkgs/desktops/gnome-2/default.nix
@@ -107,8 +107,6 @@ let overridden = set // overrides; set = with overridden; {
 
   gtksourceview = callPackage ./desktop/gtksourceview { };
 
-  nautilus = callPackage ./desktop/nautilus { };
-
   gnome_icon_theme = callPackage ./desktop/gnome-icon-theme { };
 
   vte = callPackage ./desktop/vte { };
diff --git a/pkgs/desktops/gnome-2/desktop/nautilus/default.nix b/pkgs/desktops/gnome-2/desktop/nautilus/default.nix
deleted file mode 100644
index 3765e6112d6..00000000000
--- a/pkgs/desktops/gnome-2/desktop/nautilus/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{stdenv, fetchurl, pkgconfig, libxml2, dbus_glib, shared_mime_info, libexif, gtk, gnome_desktop, libunique, intltool, GConf}:
-
-stdenv.mkDerivation {
-  name = "nautilus-2.28.0";
-  src = fetchurl {
-    url = mirror://gnome/sources/nautilus/2.28/nautilus-2.28.0.tar.bz2;
-    sha256 = "0wmskjxf231r2vra22zy02561gh5q10pj3lhzya13dvlliyv4q9p";
-  };
-  buildInputs = [ pkgconfig libxml2 dbus_glib shared_mime_info libexif gtk gnome_desktop libunique intltool GConf ];
-}
diff --git a/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix b/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix
index aaea1b2e966..742036f16b3 100644
--- a/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix
+++ b/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix
@@ -14,4 +14,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ python pkgconfig popt atk libX11 libICE xlibs.libXtst libXi
                   intltool dbus_glib at_spi2_core libSM ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix b/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix
index 30b2367a5e9..2c401856b7f 100644
--- a/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix
+++ b/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix
@@ -19,6 +19,10 @@ stdenv.mkDerivation (rec {
 
   # ToDo: on non-NixOS we create a symlink from there?
   configureFlags = "--with-dbus-daemondir=/run/current-system/sw/bin/";
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }
   // stdenv.lib.optionalAttrs stdenv.isDarwin {
     NIX_LDFLAGS = "-lintl";
diff --git a/pkgs/desktops/gnome-3/core/dconf/default.nix b/pkgs/desktops/gnome-3/core/dconf/default.nix
new file mode 100644
index 00000000000..4ee8143bb2b
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/dconf/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, vala, libxslt, pkgconfig, glib, dbus_glib, gnome3
+, libxml2, intltool, docbook_xsl_ns, docbook_xsl }:
+
+stdenv.mkDerivation rec {
+  name = "dconf-${version}";
+  version = "0.18.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/dconf/0.18/${name}.tar.xz";
+    sha256 = "0mf921pnkhs8xn1dr2wxfq277vjsbkpl9cccv0gaz4460z31p6qh";
+  };
+
+  buildInputs = [ vala libxslt pkgconfig glib dbus_glib gnome3.gtk libxml2
+                  intltool docbook_xsl docbook_xsl_ns ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/eog/default.nix b/pkgs/desktops/gnome-3/core/eog/default.nix
new file mode 100644
index 00000000000..d117964b196
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/eog/default.nix
@@ -0,0 +1,28 @@
+{ fetchurl, stdenv, intltool, pkgconfig, itstool, libxml2, libjpeg, gnome3
+, shared_mime_info, makeWrapper, librsvg, libexif }:
+
+
+stdenv.mkDerivation rec {
+  name = "eog-3.10.2";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/eog/3.10/${name}.tar.xz";
+    sha256 = "0qs7wmn987vd0cw8w16gmb0bnda3nkcwfg1q343l4rm6kih9ik2w";
+  };
+
+  buildInputs = with gnome3;
+    [ intltool pkgconfig itstool libxml2 libjpeg gtk glib libpeas makeWrapper librsvg
+      gsettings_desktop_schemas shared_mime_info gnome_icon_theme gnome_desktop libexif ];
+
+  postInstall = ''
+    wrapProgram "$out/bin/eog" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix XDG_DATA_DIRS : "${shared_mime_info}/share:${gnome3.gnome_icon_theme}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Apps/EyeOfGnome; 
+    platforms = platforms.linux;
+    description = "GNOME image viewer";
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix
index b4e2171dd38..42b3eaa9c0a 100644
--- a/pkgs/desktops/gnome-3/core/evince/default.nix
+++ b/pkgs/desktops/gnome-3/core/evince/default.nix
@@ -1,27 +1,26 @@
 { fetchurl, stdenv, pkgconfig, intltool, perl, perlXMLParser, libxml2
-, glib, gtk3, pango, atk, gdk_pixbuf, shared_mime_info
-, itstool, gnome_icon_theme, libgnome_keyring, gsettings_desktop_schemas
-, poppler, ghostscriptX, djvulibre, libspectre
-, makeWrapper #, python /*just for tests*/
-, recentListSize ? null # 5 is not enough, allow passing a different number
+, glib, gtk3, pango, atk, gdk_pixbuf, shared_mime_info, itstool, gnome3
+, poppler, ghostscriptX, djvulibre, libspectre, libsecret , makeWrapper
+, librsvg, recentListSize ? null # 5 is not enough, allow passing a different number
 }:
 
 stdenv.mkDerivation rec {
-  name = "evince-3.6.1";
+  name = "evince-3.10.3";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/evince/3.6/${name}.tar.xz";
-    sha256 = "1da1pij030dh8mb0pr0jnyszgsbjnh8lc17rj5ii52j3kmbv51qv";
+    url = "mirror://gnome/sources/evince/3.10/${name}.tar.xz";
+    sha256 = "1bz9ypsvlfw1vgs7i5glba1h1n6c90f0d1g64linhg6xjcxcq3dk";
   };
 
   buildInputs = [
     pkgconfig intltool perl perlXMLParser libxml2
     glib gtk3 pango atk gdk_pixbuf
-    itstool gnome_icon_theme libgnome_keyring gsettings_desktop_schemas
+    itstool gnome3.gnome_icon_theme gnome3.libgnome_keyring gnome3.gsettings_desktop_schemas
     poppler ghostscriptX djvulibre libspectre
-    makeWrapper
+    makeWrapper libsecret
   ];
 
+
   preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
 
   configureFlags = [
@@ -44,11 +43,12 @@ stdenv.mkDerivation rec {
     # Tell Glib/GIO about the MIME info directory, which is used
     # by `g_file_info_get_content_type ()'.
     wrapProgram "$out/bin/evince" \
-      --prefix XDG_DATA_DIRS : "${shared_mime_info}/share:$out/share"
-  '' + gsettings_desktop_schemas.doCompileSchemas;
+      --set GDK_PIXBUF_MODULE_FILE ${librsvg}/lib/gdk-pixbuf/loaders.cache \
+      --prefix XDG_DATA_DIRS : "${gnome3.gnome_icon_theme}/share:${gnome3.gsettings_desktop_schemas}/share:${shared_mime_info}/share:$out/share"
+  '';
   doCheck = false; # would need pythonPackages.dogTail, which is missing
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.gnome.org/projects/evince/;
     description = "GNOME's document viewer";
 
@@ -60,5 +60,6 @@ stdenv.mkDerivation rec {
     '';
 
     license = "GPLv2+";
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gconf/default.nix b/pkgs/desktops/gnome-3/core/gconf/default.nix
index 9ca9c227d58..fc7471019bd 100644
--- a/pkgs/desktops/gnome-3/core/gconf/default.nix
+++ b/pkgs/desktops/gnome-3/core/gconf/default.nix
@@ -4,7 +4,7 @@
 stdenv.mkDerivation rec {
 
   versionMajor = "3.2";
-  versionMinor = "5";
+  versionMinor = "6";
   moduleName   = "GConf";
 
   origName = "${moduleName}-${versionMajor}.${versionMinor}";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${origName}.tar.xz";
-    sha256 = "1ijqks0jxc4dyfxg4vnbqds4aj6miyahlsmlqlkf2bi1798akpjd";
+    sha256 = "0k3q9nh53yhc9qxf1zaicz4sk8p3kzq4ndjdsgpaa2db0ccbj4hr";
   };
 
   buildInputs = [ libxml2 polkit gtk orbit ];
@@ -22,8 +22,9 @@ stdenv.mkDerivation rec {
 
   # ToDo: ldap reported as not found but afterwards reported as supported
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://projects.gnome.org/gconf/;
     description = "A system for storing application preferences";
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/gcr/default.nix b/pkgs/desktops/gnome-3/core/gcr/default.nix
index 44053b88fbc..7b7588b9528 100644
--- a/pkgs/desktops/gnome-3/core/gcr/default.nix
+++ b/pkgs/desktops/gnome-3/core/gcr/default.nix
@@ -2,11 +2,11 @@
 , libgcrypt, libtasn1, dbus_glib, gtk, pango, gdk_pixbuf, atk }:
 
 stdenv.mkDerivation rec {
-  name = "gcr-3.6.2";
+  name = "gcr-3.10.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gcr/3.6/${name}.tar.xz";
-    sha256 = "16xyqxv2hxl3a4m8ahilqcf1ps58w1ijh8dav1l5nqz36ljdn2gp";
+    url = "mirror://gnome/sources/gcr/3.10/${name}.tar.xz";
+    sha256 = "0nv470a8cvw4rw49hf5aqvll1rpkacmsr3pj8s1l205yaid4yvq0";
   };
 
   buildInputs = [
@@ -14,7 +14,11 @@ stdenv.mkDerivation rec {
     libgcrypt libtasn1 dbus_glib gtk pango gdk_pixbuf atk
   ];
 
-  configureFlags = "--disable-introspection";
+  configureFlags = [ "--disable-introspection" ];
 
   #doCheck = true;
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix
new file mode 100644
index 00000000000..2955c5f399b
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gdm/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, pkgconfig, glib, itstool, libxml2, intltool, accountservice, libX11
+, gtk, libcanberra_gtk3, pam, libtool
+}:
+
+stdenv.mkDerivation rec {
+  name = "gdm-3.10.0.1";
+
+  src = fetchurl {
+    url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
+    sha256 = "1rva3djas48m8w1gyv3nds3jxfkirdfl0bk30x79mizrk80456jl";
+  };
+
+  buildInputs = [ pkgconfig glib itstool libxml2 intltool accountservice libX11 gtk libcanberra_gtk3 pam libtool ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix
index 303bcd2208c..474a2ccb9a4 100644
--- a/pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix
@@ -1,12 +1,16 @@
 { stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk }:
 
 stdenv.mkDerivation rec {
-  name = "gnome-icon-theme-3.6.2";
+  name = "gnome-icon-theme-3.10.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-icon-theme/3.6/${name}.tar.xz";
-    sha256 = "0i8hkx2c1g5ckrvbkvs9n47i8fby8p9xs6p5l0mxdx9aq4smak9i";
+    url = "mirror://gnome/sources/gnome-icon-theme/3.10/${name}.tar.xz";
+    sha256 = "1xinbgkkvlhazj887ajcl13i7kdc1wcca02jwxzvjrvchjsp4m66";
   };
 
   nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
index 9e08c6fa663..14f0110e374 100644
--- a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix
@@ -1,12 +1,13 @@
-{stdenv, fetchurl, pkgconfig, dbus, libgcrypt, libtasn1, pam, python, glib
-, gtk3, intltool, gconf, libgnome_keyring, pango, gcr, gdk_pixbuf, atk, p11_kit }:
+{ stdenv, fetchurl, pkgconfig, dbus, libgcrypt, libtasn1, pam, python, glib, libxslt
+, gtk3, intltool, gconf, libgnome_keyring, pango, gcr, gdk_pixbuf, atk, p11_kit
+, docbook_xsl_ns, docbook_xsl }:
 
 stdenv.mkDerivation rec {
-  name = "gnome-keyring-3.6.3";
+  name = "gnome-keyring-3.10.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-keyring/3.6/${name}.tar.xz";
-    sha256 = "0la107v75vh8v165lk391xg820h8hxa209766wr98pm22qzkl5g0";
+    url = "mirror://gnome/sources/gnome-keyring/3.10/${name}.tar.xz";
+    sha256 = "1y6v2p14jx5h6yh14c53pd8r0r5zbmcgw8v4nxvf94kd9jliy00q";
   };
 
   buildInputs = [
@@ -14,13 +15,17 @@ stdenv.mkDerivation rec {
     pango gcr gdk_pixbuf atk p11_kit
   ];
 
-  propagatedBuildInputs = [ glib libtasn1 ];
+  propagatedBuildInputs = [ glib libtasn1 libxslt ];
 
-  nativeBuildInputs = [ pkgconfig intltool ];
+  nativeBuildInputs = [ pkgconfig intltool docbook_xsl_ns docbook_xsl ];
 
   configureFlags = [
     "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt" # NixOS hardcoded path
     "--with-pkcs11-config=$$out/etc/pkcs11/" # installation directories
     "--with-pkcs11-modules=$$out/lib/pkcs11/"
   ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix b/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix
new file mode 100644
index 00000000000..3040d817a16
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, glib, libxslt, gtk, webkitgtk, json_glib, rest, libsecret, dbus_glib
+, telepathy_glib, intltool, dbus_libs, icu, libsoup, docbook_xsl_ns, docbook_xsl
+}:
+
+stdenv.mkDerivation rec {
+  name = "gnome-online-accounts-3.10.2";
+
+  src = fetchurl {
+    url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
+    sha256 = "15qvw40dmi886491s3abpidsm2lx65fhglhj99bvcdskhk0ih90b";
+  };
+
+  NIX_CFLAGS_COMPILE = "-I${dbus_glib}/include/dbus-1.0 -I${dbus_libs}/include/dbus-1.0";
+
+  buildInputs = [ pkgconfig glib libxslt gtk webkitgtk json_glib rest libsecret dbus_glib telepathy_glib intltool icu libsoup docbook_xsl_ns docbook_xsl];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/gnome-session/default.nix b/pkgs/desktops/gnome-3/core/gnome-session/default.nix
new file mode 100644
index 00000000000..40426986182
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-session/default.nix
@@ -0,0 +1,29 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, glib, dbus_glib, json_glib, upower
+, libxslt, intltool, makeWrapper }:
+
+
+stdenv.mkDerivation rec {
+  name = "gnome-session-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-session/3.10/${name}.tar.xz";
+    sha256 = "1k59yss7r748nvr0cdjrqmx0zy26b93rfn66lsdg9fz60x77087n";
+  };
+
+  buildInputs = with gnome3;
+    [ pkgconfig glib gnome_desktop gtk dbus_glib json_glib libxslt 
+      gsettings_desktop_schemas upower intltool gconf makeWrapper ];
+
+  # TODO: dbus, gnome-shell, gnome-settings-daemon
+
+  postInstall = ''
+    wrapProgram "$out/bin/gnome-session" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gsettings_desktop_schemas}/share:$out/share"
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
index 41fdcc8086b..281f985c121 100644
--- a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix
@@ -1,20 +1,25 @@
-{ stdenv, fetchurl, pkgconfig, cairo, libxml2, libxslt, gnome3, pango
-, gnome_doc_utils, intltool, libX11, which, gconf }:
+{ stdenv, fetchurl, pkgconfig, cairo, libxml2, gnome3, pango
+, gnome_doc_utils, intltool, libX11, which, gconf, libuuid
+, desktop_file_utils, itstool, ncurses }:
 
 stdenv.mkDerivation rec {
 
-  versionMajor = "3.4";
-  versionMinor = "1.1";
+  versionMajor = "3.10";
+  versionMinor = "2";
 
   name = "gnome-terminal-${versionMajor}.${versionMinor}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-terminal/${versionMajor}/${name}.tar.xz";
-    sha256 = "1p9zqjmkxryf2kyghhhwwpsh4kd8y1jzzwc9zxghmpxszi9a5m0l";
+    sha256 = "04yrk9531f373nl64jx3pczsnq7a56mj3n436jbhjp74kp12fa70";
   };
 
-  configureFlags = "--disable-scrollkeeper";
-  buildInputs = [ gnome3.gtk gnome3.gsettings_desktop_schemas gnome3.vte gconf ];
+  buildInputs = [ gnome3.gtk gnome3.gsettings_desktop_schemas gnome3.vte
+                  gnome3.dconf gnome3.gconf itstool ncurses ];
 
-  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which ];
+  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libuuid libxml2 desktop_file_utils ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix b/pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix
new file mode 100644
index 00000000000..8faae4d2148
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gnome-themes-standard/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, intltool, gtk3, librsvg, pkgconfig, pango, atk, gtk2, gdk_pixbuf }:
+
+stdenv.mkDerivation rec {
+  name = "gnome-themes-standard-3.10.0";
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-themes-standard/3.10/${name}.tar.xz";
+    sha256 = "0f2b3ypkfvrdsxcvp14ja9wqj382f1p46yrjvhhxkkjgagy6qb41";
+  };
+  
+  buildInputs = [ intltool gtk3 librsvg pkgconfig pango atk gtk2 gdk_pixbuf ];
+
+  preConfigure = ''
+    cat ${gdk_pixbuf}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache ${librsvg}/lib/gdk-pixbuf/loaders.cache > loaders.cache
+    export GDK_PIXBUF_MODULE_FILE=`readlink -e loaders.cache`
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix b/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix
index 9c13539a1cc..13f357db29a 100644
--- a/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix
+++ b/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib
+{ stdenv, fetchurl, pkgconfig, intltool, glib, gobjectIntrospection
   # just for passthru
 , gtk3, gsettings_desktop_schemas }:
 
 stdenv.mkDerivation rec {
 
-  versionMajor = "3.6";
+  versionMajor = "3.10";
   versionMinor = "1";
   moduleName   = "gsettings-desktop-schemas";
 
@@ -12,10 +12,10 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
-    sha256 = "1rk71q2rky9nzy0zb5jsvxa62vhg7dk65kdgdifq8s761797ga6r";
+    sha256 = "04b8wy10l6pzs5928gnzaia73dz5fjlcdy39xi3mf50ajv27h8s5";
   };
 
-  buildInputs = [ glib ];
+  buildInputs = [ glib gobjectIntrospection ];
 
   nativeBuildInputs = [ pkgconfig intltool ];
 
diff --git a/pkgs/desktops/gnome-3/core/libcroco/default.nix b/pkgs/desktops/gnome-3/core/libcroco/default.nix
index 2cf785b8cca..e5f6a0aa9b8 100644
--- a/pkgs/desktops/gnome-3/core/libcroco/default.nix
+++ b/pkgs/desktops/gnome-3/core/libcroco/default.nix
@@ -11,4 +11,8 @@ stdenv.mkDerivation rec {
   configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic";
 
   buildInputs = [ pkgconfig libxml2 glib ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/desktops/gnome-3/core/libgee/default.nix b/pkgs/desktops/gnome-3/core/libgee/default.nix
new file mode 100644
index 00000000000..2775e87720c
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/libgee/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, autoconf, vala, pkgconfig, glib, gobjectIntrospection }:
+
+stdenv.mkDerivation rec {
+  name = "libgee-0.13.4";
+
+  src = fetchurl {
+    url = "https://download.gnome.org/sources/libgee/0.13/${name}.tar.xz";
+    sha256 = "1gzyx8gy5m6r8km3xbb1kszz0v3p9vsbzwb78pf3fw122gwbjj4k";
+  };
+
+  patches = [ ./fix_introspection_paths.patch ];
+
+  buildInputs = [ autoconf vala pkgconfig glib gobjectIntrospection ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/libgee/fix_introspection_paths.patch b/pkgs/desktops/gnome-3/core/libgee/fix_introspection_paths.patch
new file mode 100644
index 00000000000..67003f45164
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/libgee/fix_introspection_paths.patch
@@ -0,0 +1,13 @@
+--- fix_introspection_paths.patch/configure	2014-01-07 17:43:53.521339338 +0000
++++ fix_introspection_paths.patch/configure-fix	2014-01-07 17:45:11.068635069 +0000
+@@ -12085,8 +12085,8 @@
+        INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
+        INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
+        INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
+-       INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
+-       INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
++       INTROSPECTION_GIRDIR="${datadir}/gir-1.0"
++       INTROSPECTION_TYPELIBDIR="${libdir}/girepository-1.0"
+        INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
+        INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
+        INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
diff --git a/pkgs/desktops/gnome-3/core/libgweather/default.nix b/pkgs/desktops/gnome-3/core/libgweather/default.nix
index 78ae94c1a33..62ae5964365 100644
--- a/pkgs/desktops/gnome-3/core/libgweather/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgweather/default.nix
@@ -2,13 +2,20 @@
 , pango, gdk_pixbuf, atk }:
 
 stdenv.mkDerivation rec {
-  name = "libgweather-3.6.2";
+  name = "libgweather-3.10.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libgweather/3.6/${name}.tar.xz";
-    sha256 = "1c50m0zrnfh4g58rzf33dfw8ggslj38c61p8a75905bmj3rfyahg";
+    url = "mirror://gnome/sources/libgweather/3.10/${name}.tar.xz";
+    sha256 = "1iyg0l90m14iw0ksjbmrrhb5fqn0y7x5f726y56gxd4qcxgpi3mf";
   };
+
+  makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
+
   configureFlags = if stdenv ? glibc then "--with-zoneinfo-dir=${stdenv.glibc}/share/zoneinfo" else "";
   propagatedBuildInputs = [ libxml2 gtk libsoup gconf pango gdk_pixbuf atk ];
   nativeBuildInputs = [ pkgconfig intltool ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/desktops/gnome-3/core/libgxps/default.nix b/pkgs/desktops/gnome-3/core/libgxps/default.nix
new file mode 100644
index 00000000000..72d307f4f1a
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/libgxps/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, glib, cairo, libarchive, freetype, libjpeg, libtiff
+, openssl, bzip2, acl, attr
+}:
+
+stdenv.mkDerivation rec {
+  name = "libgxps-0.2.2";
+
+  src = fetchurl {
+    url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
+    sha256 = "1gi0b0x0354jyqc48vspk2hg2q1403cf2p9ibj847nzhkdrh9l9r";
+  };
+
+  buildInputs = [ pkgconfig glib cairo libarchive freetype libjpeg libtiff acl openssl bzip2 attr];
+
+  configureFlags = "--without-liblcms2";
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/libpeas/default.nix b/pkgs/desktops/gnome-3/core/libpeas/default.nix
new file mode 100644
index 00000000000..eeec43a1b65
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/libpeas/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pkgconfig, gnome3, intltool, gobjectIntrospection }:
+
+stdenv.mkDerivation rec {
+  name = "libpeas-${version}";
+  version = "1.9.0";
+
+  buildInputs = with gnome3; [ intltool pkgconfig glib gobjectIntrospection gtk3 ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libpeas/1.9/${name}.tar.xz";
+    sha256 = "13fzyzv6c0cfdj83z1s16lv8k997wpnzyzr0wfwcfkcmvz64g1q0";
+  };
+
+  preFixup = ''
+    rm $out/share/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/desktops/gnome-3/core/libqmi/default.nix b/pkgs/desktops/gnome-3/core/libqmi/default.nix
new file mode 100644
index 00000000000..beb63f80b80
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/libqmi/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl, pkgconfig, glib, python }:
+
+stdenv.mkDerivation rec {
+  name = "libqmi-1.0";
+
+  src = fetchurl {
+    url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
+    sha256 = "0w4cd7nihp73frh3sfi13fx0rkwmd581xpil54bsjc7pw7z01bd1";
+  };
+
+  buildInputs = [ pkgconfig glib python ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/libzapojit/default.nix b/pkgs/desktops/gnome-3/core/libzapojit/default.nix
new file mode 100644
index 00000000000..e0e4c02c084
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/libzapojit/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl, pkgconfig, glib, intltool, json_glib, rest, libsoup, gtk, gnome_online_accounts }:
+
+stdenv.mkDerivation rec {
+  name = "libzapojit-0.0.3";
+
+  src = fetchurl {
+    url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
+    sha256 = "0zn3s7ryjc3k1abj4k55dr2na844l451nrg9s6cvnnhh569zj99x";
+  };
+
+  buildInputs = [ pkgconfig glib intltool json_glib rest libsoup gtk gnome_online_accounts ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/nautilus/default.nix b/pkgs/desktops/gnome-3/core/nautilus/default.nix
new file mode 100644
index 00000000000..551b9db1246
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/nautilus/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pkgconfig, libxml2, dbus_glib, shared_mime_info, libexif
+, gtk, gnome3, libunique, intltool, gobjectIntrospection
+, libnotify, makeWrapper, exempi }:
+
+stdenv.mkDerivation rec {
+  name = "nautilus-3.10.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/nautilus/3.10/${name}.tar.xz";
+    sha256 = "09y7dxaw4bjgan3q10azky0h6kndqv2lfn75iip12zchf2hk59gn";
+  };
+
+  configureFlags = [ "--enable-tracker=no" ];
+
+  buildInputs = [ pkgconfig libxml2 dbus_glib shared_mime_info libexif gtk libunique intltool exempi 
+                  gnome3.gnome_desktop gnome3.gsettings_desktop_schemas libnotify makeWrapper ];
+
+  postInstall = ''
+    wrapProgram "$out/bin/nautilus" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix XDG_DATA_DIRS : "${gtk}/share:${gnome3.gnome_icon_theme}:${gnome3.gsettings_desktop_schemas}/share:$out/share"
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/rest/default.nix b/pkgs/desktops/gnome-3/core/rest/default.nix
new file mode 100644
index 00000000000..f543f8e13b8
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/rest/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, pkgconfig, glib, libsoup, gobjectIntrospection }:
+
+stdenv.mkDerivation rec {
+  name = "rest-0.7.90";
+
+  src = fetchurl {
+    url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
+    sha256 = "08n0cvz44l4b1gkmjryap3ysd0wcbbbdjbcar73nr52dmk52ls0x";
+  };
+
+  buildInputs = [ pkgconfig glib libsoup gobjectIntrospection];
+
+  configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt";
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/vte/default.nix b/pkgs/desktops/gnome-3/core/vte/default.nix
index ffc3aab8706..b0e522c0f29 100644
--- a/pkgs/desktops/gnome-3/core/vte/default.nix
+++ b/pkgs/desktops/gnome-3/core/vte/default.nix
@@ -3,15 +3,15 @@
 
 stdenv.mkDerivation rec {
 
-  versionMajor = "0.32";
-  versionMinor = "2";
+  versionMajor = "0.34";
+  versionMinor = "9";
   moduleName   = "vte";
   
   name = "${moduleName}-${versionMajor}.${versionMinor}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
-    sha256 = "0sj837b9ib36gx00hzdinv23f7w91fd5mcw1p6wdi053yxqw17nn";
+    sha256 = "1q93dsxg56f57mxblmh8kn4v9kyc643j2pjf1j3mn2kxypnwaf3g";
   };
 
   buildInputs = [ intltool pkgconfig gnome3.glib gnome3.gtk ncurses ] ++
diff --git a/pkgs/desktops/gnome-3/core/zenity/default.nix b/pkgs/desktops/gnome-3/core/zenity/default.nix
index 18b91d4f61e..366088c6729 100644
--- a/pkgs/desktops/gnome-3/core/zenity/default.nix
+++ b/pkgs/desktops/gnome-3/core/zenity/default.nix
@@ -1,20 +1,23 @@
 { stdenv, fetchurl, pkgconfig, cairo, libxml2, libxslt, gnome3, pango
-, gnome_doc_utils, intltool, libX11, which }:
+, gnome_doc_utils, intltool, libX11, which, itstool }:
 
 stdenv.mkDerivation rec {
 
-  versionMajor = "3.4";
+  versionMajor = "3.8";
   versionMinor = "0";
 
   name = "zenity-${versionMajor}.${versionMinor}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/zenity/${versionMajor}/zenity-${versionMajor}.${versionMinor}.tar.xz";
-    sha256 = "1bqbfcvd3kj2xk15fvbcdaqvyg9qvymlhn8cwvg5m6v4gicniw2w";
+    sha256 = "0gsnwvhsqqba5i6d4jh86j29q4q18hmvhj9c1v76vwlj2nvz1ywl";
   };
 
-  configureFlags = "--disable-scrollkeeper";
-  buildInputs = [ gnome3.gtk libxml2 libxslt libX11 ];
+  buildInputs = [ gnome3.gtk libxml2 libxslt libX11 itstool ];
 
   nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index d214a44aa0a..2b3f95b20c8 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -10,7 +10,7 @@ rec {
 #### Overrides of libraries
 
   librsvg = pkgs.librsvg.override { inherit gtk2; }; # gtk2 mysteriously needed in librsvg for goffice (commented in Gentoo)
-
+  libsoup = pkgs.libsoup_2_44;
 
 #### Core (http://ftp.acc.umu.se/pub/GNOME/core/)
 
@@ -18,12 +18,16 @@ rec {
 
   at_spi2_core = callPackage ./core/at-spi2-core { };
 
+  dconf = callPackage ./core/dconf { };
+
   evince = callPackage ./core/evince { }; # ToDo: dbus would prevent compilation, enable tests
 
   gconf = callPackage ./core/gconf { };
 
   gcr = callPackage ./core/gcr { }; # ToDo: tests fail
 
+  gdm = callPackage ./core/gdm { };
+
   gnome_icon_theme = callPackage ./core/gnome-icon-theme { };
 
   gnome-menus = callPackage ./core/gnome-menus { };
@@ -31,16 +35,38 @@ rec {
   gnome_keyring = callPackage ./core/gnome-keyring { };
   libgnome_keyring = callPackage ./core/libgnome-keyring { };
 
+  gnome_online_accounts = callPackage ./core/gnome-online-accounts { };
+
+  gnome_session = callPackage ./core/gnome-session { };
+
   gnome_terminal = callPackage ./core/gnome-terminal { };
 
+  gnome_themes_standard = callPackage ./core/gnome-themes-standard { };
+
   gsettings_desktop_schemas = callPackage ./core/gsettings-desktop-schemas { };
 
   gvfs = pkgs.gvfs.override { gnome = pkgs.gnome3; };
 
+  eog = callPackage ./core/eog { };
+
   libcroco = callPackage ./core/libcroco {};
 
+  libgee = callPackage ./core/libgee { };
+
+  libgxps = callPackage ./core/libgxps { };
+
+  libpeas = callPackage ./core/libpeas {};
+
+  libqmi = callPackage ./core/libqmi {};
+
   libgweather = callPackage ./core/libgweather { };
 
+  libzapojit = callPackage ./core/libzapojit { };
+
+  nautilus = callPackage ./core/nautilus { };
+
+  rest = callPackage ./core/rest { };
+
   vte = callPackage ./core/vte { };
 
   zenity = callPackage ./core/zenity { };
@@ -48,13 +74,13 @@ rec {
 
 #### Apps (http://ftp.acc.umu.se/pub/GNOME/apps/)
 
+  file-roller = callPackage ./desktop/file-roller { };
+
   gnome_dictionary = callPackage ./desktop/gnome-dictionary { };
 
   gnome_desktop = callPackage ./desktop/gnome-desktop { };
 
-
-  # Removed from recent GNOME releases, but still required
-  scrollkeeper = callPackage ./desktop/scrollkeeper { };
+  gtksourceview = callPackage ./desktop/gtksourceview { };
 
   # scrollkeeper replacement
   rarian = callPackage ./desktop/rarian { };
@@ -64,4 +90,8 @@ rec {
 
   goffice = callPackage ./misc/goffice { };
 
+  gitg = callPackage ./misc/gitg { };
+
+  libgit2-glib = callPackage ./misc/libgit2-glib { automake = pkgs.automake111x; };
+
 }
diff --git a/pkgs/desktops/gnome-3/desktop/file-roller/default.nix b/pkgs/desktops/gnome-3/desktop/file-roller/default.nix
new file mode 100644
index 00000000000..0f48103c93d
--- /dev/null
+++ b/pkgs/desktops/gnome-3/desktop/file-roller/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, glib, pkgconfig, gnome3, intltool, itstool, libxml2, libarchive
+, attr, bzip2, acl, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "file-roller-${version}";
+
+  majVersion = "3.10";
+  version = "${majVersion}.2.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/file-roller/${majVersion}/${name}.tar.xz";
+    sha256 = "14374z1yfbjlgpl4k1ih8b35x8kzvh99y22rwwkc2wfz0d0i1qgx";
+  };
+
+  # TODO: support nautilus
+  # it tries to create {nautilus}/lib/nautilus/extensions-3.0/libnautilus-fileroller.so
+
+  buildInputs = [ glib pkgconfig gnome3.gtk intltool itstool libxml2 libarchive
+                  attr bzip2 acl makeWrapper ];
+
+  postInstall = ''
+    wrapProgram "$out/bin/file-roller" \
+      --prefix XDG_DATA_DIRS : "${gnome3.gtk}/share:$out/share"
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix
index 1f0b6c2a971..584705d658e 100644
--- a/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix
+++ b/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix
@@ -1,20 +1,27 @@
-{ stdenv, fetchurl, pkgconfig, python, libxml2Python, libxslt, which, libX11, gnome3
-, intltool, gnome_doc_utils }:
+{ stdenv, fetchurl, pkgconfig, python, libxml2Python, libxslt, which, libX11, gnome3, gtk3, glib
+, intltool, gnome_doc_utils, libxkbfile, xkeyboard_config, isocodes, itstool, wayland
+, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
 
-  majorVersion = "3.5";
-  minorVersion = "3";
+  majorVersion = "3.10";
+  minorVersion = "1";
   name = "gnome-desktop-${majorVersion}.${minorVersion}";
 
+  # this should probably be setuphook for glib
+  NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0";
+
   enableParallelBuilding = true;
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-desktop/${majorVersion}/${name}.tar.xz";
-    sha256 = "1nrqcp1p5cxhfjjy5hjpvkqmzsgl2353a08fg0b11c932v95bsba";
+    sha256 = "0hdvm909lbpnixqv11qdx9iaycx4dpxys46fa128bqp8alisgb0h";
   };
 
-  configureFlags = "--disable-scrollkeeper";
-  buildInputs = [ pkgconfig python libxml2Python libxslt which libX11
-                  gnome3.gtk gnome3.glib intltool gnome_doc_utils ];
+  buildInputs = [ pkgconfig python libxml2Python libxslt which libX11 xkeyboard_config isocodes itstool wayland
+                  gtk3 glib intltool gnome_doc_utils libxkbfile gnome3.gsettings_desktop_schemas gobjectIntrospection ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix
index 7a1ab5b1505..3e952f99eb0 100644
--- a/pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix
+++ b/pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix
@@ -1,15 +1,20 @@
 { stdenv, fetchurl, pkgconfig, gnome3, gnome_doc_utils, intltool, which
-, libxml2, libxslt }:
+, libxml2, libxslt, itstool }:
 
 stdenv.mkDerivation rec {
-  version = "3.5.2";
+  version = "3.10.0";
   name = "gnome-dictionary-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-dictionary/3.5/${name}.tar.xz";
-    sha256 = "1cq32csxn27vir5nlixx337ym2nal9ykq3s1j7yynh2adh4m0jil";
+    url = "mirror://gnome/sources/gnome-dictionary/3.10/${name}.tar.xz";
+    sha256 = "1mqf6ln0cgrw12n9fg81sjbhavrgzvvq7fy3gl55il7pa3z612r5";
   };
 
   buildInputs = [ gnome3.gtk ];
-  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libxml2 libxslt gnome3.scrollkeeper ];
+  nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libxml2 libxslt itstool ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+
 }
diff --git a/pkgs/desktops/gnome-3/desktop/gtksourceview/default.nix b/pkgs/desktops/gnome-3/desktop/gtksourceview/default.nix
new file mode 100644
index 00000000000..900bb2c922b
--- /dev/null
+++ b/pkgs/desktops/gnome-3/desktop/gtksourceview/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, pkgconfig, atk, cairo, glib, gtk3, pango
+, libxml2Python, perl, intltool, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "gtksourceview-${version}";
+  version = "3.10.1";
+
+  src = fetchurl {
+    url = "https://download.gnome.org/sources/gtksourceview/3.10/gtksourceview-${version}.tar.xz";
+    sha256 = "008bzfr1s6ywpj8c8qx7495lz9g0ziccwbxg88s0l4dl6bw49piq";
+  };
+
+  buildInputs = [ pkgconfig atk cairo glib gtk3 pango
+                  libxml2Python perl intltool gettext ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/desktop/rarian/default.nix b/pkgs/desktops/gnome-3/desktop/rarian/default.nix
index 77a2b710f44..a1b38b21869 100644
--- a/pkgs/desktops/gnome-3/desktop/rarian/default.nix
+++ b/pkgs/desktops/gnome-3/desktop/rarian/default.nix
@@ -6,6 +6,11 @@ stdenv.mkDerivation rec {
     url = "mirror://gnome/sources/rarian/0.8/${name}.tar.bz2";
     sha256 = "aafe886d46e467eb3414e91fa9e42955bd4b618c3e19c42c773026b205a84577";
   };
+
   buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt];
   configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat";
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
 }
diff --git a/pkgs/desktops/gnome-3/desktop/scrollkeeper/default.nix b/pkgs/desktops/gnome-3/desktop/scrollkeeper/default.nix
deleted file mode 100644
index 97dcbf4e004..00000000000
--- a/pkgs/desktops/gnome-3/desktop/scrollkeeper/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42, automake}:
-
-stdenv.mkDerivation {
-  name = "scrollkeeper-0.3.14";
-  src = fetchurl {
-    url = mirror://gnome/sources/scrollkeeper/0.3/scrollkeeper-0.3.14.tar.bz2;
-    sha256 = "08n1xgj1f53zahwm0wpn3jid3rfbhi3iwby0ilaaldnid5qriqgc";
-  };
-
-  # The fuloong2f is not supported by scrollkeeper-0.3.14 config.guess
-  preConfigure = "
-    substituteInPlace extract/dtds/Makefile.am --replace /usr/bin/xmlcatalog xmlcatalog
-    cp ${automake}/share/automake*/config.{sub,guess} .
-  ";
-
-  buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt];
-  configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat";
-}
diff --git a/pkgs/desktops/gnome-3/misc/gitg/default.nix b/pkgs/desktops/gnome-3/misc/gitg/default.nix
new file mode 100644
index 00000000000..629ff4a7700
--- /dev/null
+++ b/pkgs/desktops/gnome-3/misc/gitg/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchurl, fetchgit, vala, intltool, libgit2, pkgconfig, gtk3, glib
+, json_glib, webkitgtk,  makeWrapper, libpeas, bash, gobjectIntrospection
+, gnome3, gtkspell3, shared_mime_info, libgee, libgit2-glib }:
+
+# TODO: icons and theme still does not work
+# use packaged gnome3.gnome_icon_theme_symbolic 
+
+stdenv.mkDerivation rec {
+  name = "gitg-0.3.2";
+
+  src = fetchurl {
+    url = "https://download.gnome.org/sources/gitg/0.3/${name}.tar.xz";
+    sha256 = "03vc59d1r3326piqdph6qjqnc40chm1lpg52lpf8466ddjs0x8vp";
+  };
+
+  configureFlags = [ "--disable-static" ];
+
+  preCheck = ''
+    substituteInPlace tests/libgitg/test-commit.c --replace "/bin/bash" "${bash}/bin/bash"
+  '';
+  doCheck = true;
+
+  makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
+
+  propagatedUserEnvPkgs = [ shared_mime_info
+                            gnome3.gnome_themes_standard ];
+
+  buildInputs = [ vala intltool libgit2 pkgconfig gtk3 glib json_glib webkitgtk libgee libpeas
+                  libgit2-glib gtkspell3 gnome3.gsettings_desktop_schemas gnome3.gtksourceview
+                  gobjectIntrospection makeWrapper ];
+
+  postInstall = ''
+    wrapProgram "$out/bin/gitg" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:${gnome3.gsettings_desktop_schemas}/share:$out/share"
+  '';
+
+  preFixup = ''
+    rm $out/share/icons/hicolor/icon-theme.cache
+    rm $out/share/gitg/icons/hicolor/icon-theme.cache
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/action/show/Apps/Gitg;
+    description = "GNOME GUI client to view git repositories";
+    maintainers = with maintainers; [ iElectric ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/misc/goffice/default.nix b/pkgs/desktops/gnome-3/misc/goffice/default.nix
index d708ab92113..51d259314a7 100644
--- a/pkgs/desktops/gnome-3/misc/goffice/default.nix
+++ b/pkgs/desktops/gnome-3/misc/goffice/default.nix
@@ -29,5 +29,4 @@ stdenv.mkDerivation rec {
 
     platforms = stdenv.lib.platforms.gnu;
   };
-  passthru = { inherit meta; };
 }
diff --git a/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix b/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix
new file mode 100644
index 00000000000..12d37ab5db5
--- /dev/null
+++ b/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, which, gnome3, autoconf, automake, libtool, pkgconfig
+, gtk_doc, gobjectIntrospection, libgit2, glib }:
+
+stdenv.mkDerivation rec {
+  name = "libgit2-glib-${version}";
+  version = "0.0.10";
+
+  src = fetchurl {
+    url = "https://github.com/GNOME/libgit2-glib/archive/v${version}.tar.gz";
+    sha256 = "0zn3k85jw6yks8s5ca8dyh9mwh4if1lni9gz9bd5lqlpa803ixxs";
+  };
+
+  configureScript = "sh ./autogen.sh";
+
+  buildInputs = [ which gnome3.gnome_common autoconf automake libtool
+                  pkgconfig gtk_doc gobjectIntrospection libgit2 glib ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/xfce/applications/parole.nix b/pkgs/desktops/xfce/applications/parole.nix
new file mode 100644
index 00000000000..c1a4ecd787d
--- /dev/null
+++ b/pkgs/desktops/xfce/applications/parole.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, makeWrapper, pkgconfig, intltool, gst_all_1
+, gtk, dbus_glib, libxfce4ui, libxfce4util, xfconf
+, taglib, libnotify
+, withGstPlugins ? true
+}:
+
+stdenv.mkDerivation rec {
+  p_name  = "parole";
+  ver_maj = "0.5";
+  ver_min = "4";
+
+  src = fetchurl {
+    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
+    sha256 = "1hxzqg9dfghrhvmnnccwwa4278fh2awkcqy89sla05m08mxvvx60";
+  };
+  name = "${p_name}-${ver_maj}.${ver_min}";
+
+  nativeBuildInputs = [ pkgconfig intltool ];
+
+  buildInputs = [
+    makeWrapper gst_all_1.gst-plugins-base
+    gtk dbus_glib libxfce4ui libxfce4util xfconf
+    taglib libnotify
+  ];
+
+  configureFlags = [ "--with-gstreamer=1.0" ];
+
+  postInstall = stdenv.lib.optionalString withGstPlugins ''
+    wrapProgram "$out/bin/parole" --prefix \
+      GST_PLUGIN_PATH ":" ${stdenv.lib.concatStringsSep ":"
+        (map (s: s+"/lib/gstreamer-1.0") (with gst_all_1; [
+          gst-plugins-base gst-plugins-good
+          gst-plugins-bad gst-plugins-ugly
+          gst-libav
+        ])) }
+  '';
+
+  meta = {
+    homepage = "http://goodies.xfce.org/projects/applications/${p_name}";
+    description = "Modern simple media player";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index ede7ffb6c49..b9c84cf95e2 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -41,6 +41,7 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od
 
   gigolo          = callPackage ./applications/gigolo.nix { };
   mousepad        = callPackage ./applications/mousepad.nix { };
+  parole          = callPackage ./applications/parole.nix { };
   ristretto       = callPackage ./applications/ristretto.nix { };
   terminal        = xfce4terminal; # it has changed its name
   xfce4mixer      = callPackage ./applications/xfce4-mixer.nix { };