about summary refs log tree commit diff
path: root/pkgs/desktops/xfce-4.8
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/xfce-4.8')
-rw-r--r--pkgs/desktops/xfce-4.8/applications/mousepad.nix18
-rw-r--r--pkgs/desktops/xfce-4.8/applications/ristretto.nix24
-rw-r--r--pkgs/desktops/xfce-4.8/applications/terminal.nix23
-rw-r--r--pkgs/desktops/xfce-4.8/applications/xfce4-mixer.nix38
-rw-r--r--pkgs/desktops/xfce-4.8/applications/xfce4-power-manager.nix22
-rw-r--r--pkgs/desktops/xfce-4.8/art/xfce4-icon-theme.nix17
-rw-r--r--pkgs/desktops/xfce-4.8/core/exo.nix19
-rw-r--r--pkgs/desktops/xfce-4.8/core/garcon.nix18
-rw-r--r--pkgs/desktops/xfce-4.8/core/gtk-xfce-engine.nix19
-rw-r--r--pkgs/desktops/xfce-4.8/core/libxfce4ui.nix24
-rw-r--r--pkgs/desktops/xfce-4.8/core/libxfce4util.nix18
-rw-r--r--pkgs/desktops/xfce-4.8/core/libxfcegui4.nix31
-rw-r--r--pkgs/desktops/xfce-4.8/core/thunar.nix24
-rw-r--r--pkgs/desktops/xfce-4.8/core/xfce-utils.nix20
-rw-r--r--pkgs/desktops/xfce-4.8/core/xfce4-panel.nix24
-rw-r--r--pkgs/desktops/xfce-4.8/core/xfce4-session.nix22
-rw-r--r--pkgs/desktops/xfce-4.8/core/xfce4-settings.nix24
-rw-r--r--pkgs/desktops/xfce-4.8/core/xfconf.nix20
-rw-r--r--pkgs/desktops/xfce-4.8/core/xfdesktop.nix24
-rw-r--r--pkgs/desktops/xfce-4.8/core/xfwm4.nix25
-rw-r--r--pkgs/desktops/xfce-4.8/default.nix68
21 files changed, 522 insertions, 0 deletions
diff --git a/pkgs/desktops/xfce-4.8/applications/mousepad.nix b/pkgs/desktops/xfce-4.8/applications/mousepad.nix
new file mode 100644
index 0000000000000..920151282a80d
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/applications/mousepad.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, libxfcegui4, gtk }:
+
+stdenv.mkDerivation rec {
+  name = "mousepad-0.2.16";
+  
+  src = fetchurl {
+    url = "http://www.xfce.org/archive/src/apps/mousepad/0.2/${name}.tar.bz2";
+    sha1 = "4e63033e0a71578f3ec9a0d2e6a505efd0424ef9";
+  };
+
+  buildInputs = [ pkgconfig intltool libxfce4util libxfcegui4 gtk ];
+
+  meta = {
+    homepage = http://www.xfce.org/projects/mousepad/;
+    description = "A simple text editor for Xfce";
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/applications/ristretto.nix b/pkgs/desktops/xfce-4.8/applications/ristretto.nix
new file mode 100644
index 0000000000000..50a67d95ee99c
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/applications/ristretto.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, intltool, libexif, gtk, thunar
+, exo, dbus_glib, libxfce4util, libxfce4ui, xfconf }:
+
+stdenv.mkDerivation rec {
+  name = "ristretto-0.0.93";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/apps/ristretto/0.0/${name}.tar.bz2";
+    sha1 = "c71acaad169633faffe26609f9cc671b04ff52d3";
+  };
+
+  buildInputs =
+    [ pkgconfig intltool libexif gtk thunar exo dbus_glib
+      libxfce4util libxfce4ui xfconf
+    ];
+
+  NIX_LDFLAGS = "-lX11";
+
+  meta = {
+    homepage = http://goodies.xfce.org/projects/applications/ristretto;
+    description = "A fast and lightweight picture-viewer for the Xfce desktop environment";
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/applications/terminal.nix b/pkgs/desktops/xfce-4.8/applications/terminal.nix
new file mode 100644
index 0000000000000..cacb775f8f117
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/applications/terminal.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl
+, pkgconfig, ncurses
+, intltool, vte
+, exo, libxfce4util
+, gtk
+}:
+
+stdenv.mkDerivation {
+  name = "xfce-terminal-0.4.8";
+  
+  src = fetchurl {
+    url = http://archive.xfce.org/src/apps/terminal/0.4/Terminal-0.4.8.tar.bz2;
+    sha1 = "2f12c3a0fffad18976d47e531d404ee308cb2f05";
+  };
+
+  buildInputs = [ pkgconfig intltool exo gtk vte libxfce4util ncurses ];
+
+  meta = {
+    homepage = http://www.xfce.org/projects/terminal;
+    description = "A modern terminal emulator primarily for the Xfce desktop environment";
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/applications/xfce4-mixer.nix b/pkgs/desktops/xfce-4.8/applications/xfce4-mixer.nix
new file mode 100644
index 0000000000000..d34a5afb36ff5
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/applications/xfce4-mixer.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, pkgconfig, intltool, glib, gst_all, gtk
+, libxfce4util, libxfce4ui, xfce4panel, xfconf }:
+
+let
+
+  # The usual Gstreamer plugins package has a zillion dependencies
+  # that we don't need for a simple mixer, so build a minimal package.
+  gstPluginsBase = gst_all.gstPluginsBase.override {
+    minimalDeps = true;
+  };
+
+in
+
+stdenv.mkDerivation rec {
+  name = "xfce4-mixer-4.8.0";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/apps/xfce4-mixer/4.8/${name}.tar.bz2";
+    sha1 = "24f3401a68f10d2c620e354a6de98e09fe808665";
+  };
+
+  buildInputs =
+    [ pkgconfig intltool glib gst_all.gstreamer gstPluginsBase gtk
+      libxfce4util libxfce4ui xfce4panel xfconf
+    ];
+
+  postInstall =
+    ''
+      mkdir -p $out/nix-support
+      echo ${gstPluginsBase} > $out/nix-support/propagated-user-env-packages
+    '';
+
+  meta = {
+    homepage = http://www.xfce.org/projects/xfce4-mixer;
+    description = "A volume control application for the Xfce desktop environment";
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/applications/xfce4-power-manager.nix b/pkgs/desktops/xfce-4.8/applications/xfce4-power-manager.nix
new file mode 100644
index 0000000000000..b683ef71a0a7f
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/applications/xfce4-power-manager.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pkgconfig, intltool, gtk, dbus_glib, xfconf
+, libxfce4ui, libxfce4util, libnotify, xfce4panel }:
+
+stdenv.mkDerivation rec {
+  name = "xfce4-power-manager-1.0.10";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/apps/xfce4-power-manager/1.0/${name}.tar.bz2";
+    sha1 = "64dd7a8fae9cd1cbcf6403d2f51f2281f38cca05";
+  };
+
+  buildInputs =
+    [ pkgconfig intltool gtk dbus_glib xfconf libxfce4ui libxfce4util
+      libnotify xfce4panel
+    ];
+
+  meta = {
+    homepage = http://goodies.xfce.org/projects/applications/xfce4-power-manager;
+    description = "A power manager for the Xfce Desktop Environment";
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/art/xfce4-icon-theme.nix b/pkgs/desktops/xfce-4.8/art/xfce4-icon-theme.nix
new file mode 100644
index 0000000000000..a17267a336c34
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/art/xfce4-icon-theme.nix
@@ -0,0 +1,17 @@
+{ stdenv, fetchurl, pkgconfig, intltool, gtk }:
+
+stdenv.mkDerivation rec {
+  name = "xfce4-icon-theme-4.4.3";
+  
+  src = fetchurl {
+    url = "http://www.xfce.org/archive/src/art/xfce4-icon-theme/4.4/${name}.tar.bz2";
+    sha1 = "0c0d0c45cd4a7f609310db8e9d17c1c4a131a6e7";
+  };
+
+  buildInputs = [ pkgconfig intltool gtk ];
+
+  meta = {
+    homepage = http://www.xfce.org/;
+    description = "Icons for Xfce";
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/core/exo.nix b/pkgs/desktops/xfce-4.8/core/exo.nix
new file mode 100644
index 0000000000000..468132a2a81ec
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/core/exo.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, pkgconfig, intltool, URI, glib, gtk, libxfce4util }:
+
+stdenv.mkDerivation rec {
+  name = "exo-0.6.2";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/xfce/exo/0.6/${name}.tar.bz2";
+    sha1 = "2486f12c814630068665e22cdf417f0f0f05dab1";
+  };
+
+  buildInputs =
+    [ pkgconfig intltool URI glib gtk libxfce4util ];
+
+  meta = {
+    homepage = http://www.xfce.org/projects/exo;
+    description = "Application library for the Xfce desktop environment";
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/core/garcon.nix b/pkgs/desktops/xfce-4.8/core/garcon.nix
new file mode 100644
index 0000000000000..40b40541bf14f
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/core/garcon.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, pkgconfig, intltool, glib }:
+
+stdenv.mkDerivation rec {
+  name = "garcon-0.1.8";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/xfce/garcon/0.1/${name}.tar.bz2";
+    sha1 = "e5eac6a13208c81ccad0941656c01e7a69530f03";
+  };
+
+  buildInputs = [ pkgconfig intltool glib ];
+
+  meta = {
+    homepage = http://www.xfce.org/;
+    description = "Xfce menu support library";
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/core/gtk-xfce-engine.nix b/pkgs/desktops/xfce-4.8/core/gtk-xfce-engine.nix
new file mode 100644
index 0000000000000..7cca247ae4414
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/core/gtk-xfce-engine.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, pkgconfig, intltool, gtk }:
+
+stdenv.mkDerivation rec {
+  name = "gtk-xfce-engine-2.8.1";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/xfce/gtk-xfce-engine/2.8/${name}.tar.bz2";
+    sha1 = "d7779f07cc76585be063bc25fa91e660e1fd9c97";
+  };
+
+  buildInputs =
+    [ pkgconfig intltool gtk ];
+
+  meta = {
+    homepage = http://www.xfce.org/;
+    description = "GTK+ theme engine for Xfce";
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/core/libxfce4ui.nix b/pkgs/desktops/xfce-4.8/core/libxfce4ui.nix
new file mode 100644
index 0000000000000..c3551d565e107
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/core/libxfce4ui.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, xfconf
+, libstartup_notification }:
+
+stdenv.mkDerivation rec {
+  name = "libxfce4ui-4.8.0";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/xfce/libxfce4ui/4.8/${name}.tar.bz2";
+    sha1 = "107f9d8e3e583f3cf5330074e89ea72eb2a82888";
+  };
+
+  buildInputs =
+    [ pkgconfig intltool gtk libxfce4util xfconf
+      libstartup_notification
+    ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://www.xfce.org/;
+    description = "Basic GUI library for Xfce";
+    license = "LGPLv2+";
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/core/libxfce4util.nix b/pkgs/desktops/xfce-4.8/core/libxfce4util.nix
new file mode 100644
index 0000000000000..1a2b64bc8fa91
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/core/libxfce4util.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, pkgconfig, glib, intltool }:
+
+stdenv.mkDerivation rec {
+  name = "libxfce4util-4.8.1";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/xfce/libxfce4util/4.8/${name}.tar.bz2";
+    sha1 = "4d26aea58413603e2c163ff0374a6e32fc47bc4c";
+  };
+
+  buildInputs = [ pkgconfig glib intltool ];
+
+  meta = {
+    homepage = http://www.xfce.org/;
+    description = "Basic utility non-GUI functions for Xfce";
+    license = "bsd";
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/core/libxfcegui4.nix b/pkgs/desktops/xfce-4.8/core/libxfcegui4.nix
new file mode 100644
index 0000000000000..20e82a2c92f88
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/core/libxfcegui4.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, xfconf
+, libglade, libstartup_notification }:
+
+stdenv.mkDerivation rec {
+  name = "libxfcegui4-4.8.1";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/xfce/libxfcegui4/4.8/${name}.tar.bz2";
+    sha1 = "246fcaa71fc8cf44dae0b4c919411231eedd662f";
+  };
+
+  # By default, libxfcegui4 tries to install into libglade's prefix.
+  # Install into our own prefix instead.
+  preConfigure =
+    ''
+      configureFlags="--with-libglade-module-path=$out/lib/libglade/2.0"
+    '';
+
+  buildInputs =
+    [ pkgconfig intltool gtk libxfce4util libglade
+      libstartup_notification
+    ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://www.xfce.org/;
+    description = "Basic GUI library for Xfce";
+    license = "LGPLv2+";
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/core/thunar.nix b/pkgs/desktops/xfce-4.8/core/thunar.nix
new file mode 100644
index 0000000000000..c9ab76f2920c2
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/core/thunar.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, intltool, exo, gtk, libxfce4util, libxfce4ui
+, dbus_glib, libstartup_notification, xfconf, xfce4panel, udev, libnotify }:
+
+stdenv.mkDerivation rec {
+  name = "thunar-1.2.2";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/xfce/thunar/1.2/Thunar-1.2.2.tar.bz2";
+    sha1 = "314e3d53ec7be1ea578da4d842ecc8dc5958b1bd";
+  };
+
+  buildInputs =
+    [ pkgconfig intltool gtk exo libxfce4util libxfce4ui
+      dbus_glib libstartup_notification xfconf xfce4panel udev libnotify
+    ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://thunar.xfce.org/;
+    description = "Xfce file manager";
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/core/xfce-utils.nix b/pkgs/desktops/xfce-4.8/core/xfce-utils.nix
new file mode 100644
index 0000000000000..58ef4fbef2a44
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/core/xfce-utils.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui }:
+
+stdenv.mkDerivation rec {
+  name = "xfce-utils-4.8.2";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/xfce/xfce-utils/4.8/${name}.tar.bz2";
+    sha1 = "c9358f47f57b961fc51008cf6752d2761b4c4f25";
+  };
+
+  configureFlags = "--with-xsession-prefix=$(out)/share/xsessions --with-vendor-info=NixOS.org";
+
+  buildInputs = [ pkgconfig intltool gtk libxfce4util libxfce4ui ];
+
+  meta = {
+    homepage = http://www.xfce.org/;
+    description = "Utilities and scripts for Xfce";
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/core/xfce4-panel.nix b/pkgs/desktops/xfce-4.8/core/xfce4-panel.nix
new file mode 100644
index 0000000000000..0752d18d7f215
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/core/xfce4-panel.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, garcon
+, libxfce4ui, xfconf, libwnck, exo }:
+
+stdenv.mkDerivation rec {
+  name = "xfce4-panel-4.8.5";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/xfce/xfce4-panel/4.8/${name}.tar.bz2";
+    sha1 = "67b9d5bc422663f60f5a05e7cfd7ca67b4542813";
+  };
+
+  buildInputs =
+    [ pkgconfig intltool gtk libxfce4util garcon libxfce4ui xfconf
+      exo libwnck
+    ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://www.xfce.org/;
+    description = "Xfce panel";
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/core/xfce4-session.nix b/pkgs/desktops/xfce-4.8/core/xfce4-session.nix
new file mode 100644
index 0000000000000..c6f6234f473dd
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/core/xfce4-session.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui
+, libwnck, dbus_glib, xfconf, xorg, xfce4panel }:
+
+stdenv.mkDerivation rec {
+  name = "xfce4-session-4.8.1";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/xfce/xfce4-session/4.8/${name}.tar.bz2";
+    sha1 = "a33534e53fa36a38a1f9bd164469a9fb62c765a7";
+  };
+
+  buildInputs =
+    [ pkgconfig intltool gtk libxfce4util libxfce4ui libwnck dbus_glib
+      xfconf xorg.iceauth xfce4panel
+    ];
+
+  meta = {
+    homepage = http://www.xfce.org/;
+    description = "Session manager for Xfce";
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/core/xfce4-settings.nix b/pkgs/desktops/xfce-4.8/core/xfce4-settings.nix
new file mode 100644
index 0000000000000..3515d2553c541
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/core/xfce4-settings.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, intltool, exo, gtk, libxfce4util, libxfce4ui
+, xfconf, xorg, libnotify, libxklavier }:
+
+stdenv.mkDerivation rec {
+  name = "xfce4-settings-4.8.2";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/xfce/xfce4-settings/4.8/${name}.tar.bz2";
+    sha1 = "402afe308944a315c385d2b1ed567f997d016b61";
+  };
+
+  buildInputs =
+    [ pkgconfig intltool exo gtk libxfce4util libxfce4ui
+      xfconf libnotify xorg.libXcursor libxklavier
+    ];
+
+  configureFlags = "--enable-pluggable-dialogs --enable-sound-settings";
+
+  meta = {
+    homepage = http://www.xfce.org/;
+    description = "Settings manager for Xfce";
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/core/xfconf.nix b/pkgs/desktops/xfce-4.8/core/xfconf.nix
new file mode 100644
index 0000000000000..bb351c68d280e
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/core/xfconf.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util, dbus_glib }:
+
+stdenv.mkDerivation rec {
+  name = "xfconf-4.8.0";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/xfce/xfconf/4.8/${name}.tar.bz2";
+    sha1 = "3f560b11d618171805bfb9e6a8290185c7ee5dcd";
+  };
+
+  buildInputs = [ pkgconfig intltool glib libxfce4util ];
+
+  propagatedBuildInputs = [ dbus_glib ];
+
+  meta = {
+    homepage = http://www.xfce.org/;
+    description = "Simple client-server configuration storage and query system for Xfce";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/core/xfdesktop.nix b/pkgs/desktops/xfce-4.8/core/xfdesktop.nix
new file mode 100644
index 0000000000000..3742686d2e3dd
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/core/xfdesktop.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, pkgconfig, intltool, gtk, dbus_glib, libxfce4util
+, libxfce4ui, libwnck, xfconf, garcon, libnotify, exo }:
+
+stdenv.mkDerivation rec {
+  name = "xfdesktop-4.8.2";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/xfce/xfdesktop/4.8/${name}.tar.bz2";
+    sha1 = "fe7d71bb502197b0353b952947826a5a50ab13bc";
+  };
+
+  buildInputs =
+    [ pkgconfig intltool gtk dbus_glib libxfce4util libxfce4ui libwnck xfconf
+      garcon libnotify exo
+    ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://www.xfce.org/;
+    description = "Xfce desktop manager";
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/core/xfwm4.nix b/pkgs/desktops/xfce-4.8/core/xfwm4.nix
new file mode 100644
index 0000000000000..7dc3c65390947
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/core/xfwm4.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, gtk, intltool, libxfce4util
+, libxfce4ui, xfconf, libwnck, libstartup_notification, xorg }:
+
+stdenv.mkDerivation rec {
+  name = "xfwm4-4.8.1";
+  
+  src = fetchurl {
+    url = "http://archive.xfce.org/src/xfce/xfwm4/4.8/${name}.tar.bz2";
+    sha1 = "4075a689f572ae157ed80ab3ce5be85f09dac766";
+  };
+
+  buildInputs =
+    [ pkgconfig intltool gtk libxfce4util libxfce4ui xfconf
+      libwnck libstartup_notification
+      xorg.libXcomposite xorg.libXfixes xorg.libXdamage
+    ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://www.xfce.org/;
+    description = "Window manager for Xfce";
+    license = "GPLv2+";
+  };
+}
diff --git a/pkgs/desktops/xfce-4.8/default.nix b/pkgs/desktops/xfce-4.8/default.nix
new file mode 100644
index 0000000000000..57098b12e3e95
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/default.nix
@@ -0,0 +1,68 @@
+{ callPackage, pkgs }:
+
+rec {
+  inherit (pkgs.gtkLibs) gtk glib;
+
+  #### CORE
+
+  libxfce4util = callPackage ./core/libxfce4util.nix { };
+
+  exo = callPackage ./core/exo.nix {
+    inherit (pkgs.perlPackages) URI;
+  };
+
+  xfconf = callPackage ./core/xfconf.nix { };
+  
+  libxfcegui4 = callPackage ./core/libxfcegui4.nix {
+    inherit (pkgs.gnome) libglade;
+  };
+
+  libxfce4ui = callPackage ./core/libxfce4ui.nix { };
+
+  xfwm4 = callPackage ./core/xfwm4.nix {
+    inherit (pkgs.gnome) libwnck;
+  };
+
+  xfceutils = callPackage ./core/xfce-utils.nix { };
+
+  garcon = callPackage ./core/garcon.nix { };
+
+  xfce4panel = callPackage ./core/xfce4-panel.nix {
+    inherit (pkgs.gnome) libwnck;
+  };
+
+  xfce4session = callPackage ./core/xfce4-session.nix {
+    inherit (pkgs.gnome) libwnck;
+  };
+
+  xfce4settings = callPackage ./core/xfce4-settings.nix { };
+
+  xfdesktop = callPackage ./core/xfdesktop.nix {
+    inherit (pkgs.gnome) libwnck;
+  };
+
+  thunar = callPackage ./core/thunar.nix { };
+
+  gtk_xfce_engine = callPackage ./core/gtk-xfce-engine.nix { };
+
+  # !!! Add xfce4-appfinder
+
+  #### APPLICATIONS
+  
+  terminal = callPackage ./applications/terminal.nix {
+    inherit (pkgs.gnome) vte;
+  };
+
+  mousepad = callPackage ./applications/mousepad.nix { };
+
+  ristretto = callPackage ./applications/ristretto.nix { };
+
+  xfce4_power_manager = callPackage ./applications/xfce4-power-manager.nix { };
+
+  xfce4mixer = callPackage ./applications/xfce4-mixer.nix { };
+
+  #### ART
+
+  xfce4icontheme = callPackage ./art/xfce4-icon-theme.nix { };
+  
+}