summary refs log tree commit diff
path: root/pkgs/desktops
diff options
context:
space:
mode:
authorEvgeny Egorochkin <phreedom@yandex.ru>2013-08-21 20:38:48 +0300
committerEvgeny Egorochkin <phreedom@yandex.ru>2013-08-21 20:41:07 +0300
commitb25bcf853f45c648f9456f62239c96a2865edee0 (patch)
treef3d459ed563125a0ec1bec237554459eebe23fb2 /pkgs/desktops
parent77b9f286584e08f441357dba0e69676f0e9c4abc (diff)
downloadnixlib-b25bcf853f45c648f9456f62239c96a2865edee0.tar
nixlib-b25bcf853f45c648f9456f62239c96a2865edee0.tar.gz
nixlib-b25bcf853f45c648f9456f62239c96a2865edee0.tar.bz2
nixlib-b25bcf853f45c648f9456f62239c96a2865edee0.tar.lz
nixlib-b25bcf853f45c648f9456f62239c96a2865edee0.tar.xz
nixlib-b25bcf853f45c648f9456f62239c96a2865edee0.tar.zst
nixlib-b25bcf853f45c648f9456f62239c96a2865edee0.zip
package KDE 4.11
Diffstat (limited to 'pkgs/desktops')
-rw-r--r--pkgs/desktops/kde-4.11/applications/kate.nix11
-rw-r--r--pkgs/desktops/kde-4.11/applications/konsole.nix11
-rw-r--r--pkgs/desktops/kde-4.11/default.nix42
-rw-r--r--pkgs/desktops/kde-4.11/files/kde-wallpapers-buildsystem.patch17
-rw-r--r--pkgs/desktops/kde-4.11/files/polkit-install.patch12
-rw-r--r--pkgs/desktops/kde-4.11/kactivities.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kde-base-artwork.nix14
-rw-r--r--pkgs/desktops/kde-4.11/kde-baseapps/kde-baseapps.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kde-package/4.11.0.nix444
-rw-r--r--pkgs/desktops/kde-4.11/kde-package/default.nix127
-rwxr-xr-xpkgs/desktops/kde-4.11/kde-package/kde-manifest.sh146
-rw-r--r--pkgs/desktops/kde-4.11/kde-runtime.nix23
-rw-r--r--pkgs/desktops/kde-4.11/kde-wallpapers.nix17
-rw-r--r--pkgs/desktops/kde-4.11/kde-workspace.nix39
-rw-r--r--pkgs/desktops/kde-4.11/kdeaccessibility/jovie.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeaccessibility/kaccessible.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeaccessibility/kmag.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdeaccessibility/kmousetool.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeaccessibility/kmouth.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeadmin/kcron.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeadmin/ksystemlog.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeadmin/kuser.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/ColorSchemes.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/FindXscreensaver.cmake73
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/HighResolutionWallpapers.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/IconThemes.nix13
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/WeatherWallpapers.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/desktopthemes.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/emoticons.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/kscreensaver.nix15
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/kwin-styles.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/sounds.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/styles.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdeartwork/wallpapers.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdebindings/perlqt.nix14
-rw-r--r--pkgs/desktops/kde-4.11/kdebindings/pykde4.nix32
-rw-r--r--pkgs/desktops/kde-4.11/kdebindings/qtruby-install-prefix.patch15
-rw-r--r--pkgs/desktops/kde-4.11/kdebindings/qtruby.nix20
-rw-r--r--pkgs/desktops/kde-4.11/kdebindings/smokegen-CMakeLists.txt-nix.patch13
-rw-r--r--pkgs/desktops/kde-4.11/kdebindings/smokegen-nix.patch13
-rw-r--r--pkgs/desktops/kde-4.11/kdebindings/smokegen.nix13
-rw-r--r--pkgs/desktops/kde-4.11/kdebindings/smokekde.nix19
-rw-r--r--pkgs/desktops/kde-4.11/kdebindings/smokeqt.nix15
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/analitza.nix8
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/blinken.nix8
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/cantor.nix13
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kalgebra.nix8
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kalzium.nix13
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kanagram.nix8
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kbruch.nix8
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kgeography.nix8
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/khangman.nix8
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kig.nix12
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kiten.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/klettres.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kmplot.nix12
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kstars.nix14
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/ktouch.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kturtle.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/kwordquiz.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/libkdeedu.nix8
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/marble.nix12
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/pairs.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/parley.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/rocs.nix14
-rw-r--r--pkgs/desktops/kde-4.11/kdeedu/step.nix15
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/bomber.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/bovo.nix8
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/granatier.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kajongg.nix13
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kapman.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/katomic.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kblackbox.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kblocks.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kbounce.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kbreakout.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kdiamond.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kfourinline.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kgoldrunner.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kigo.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/killbots.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kiriki.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kjumpingcube.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/klickety.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/klines.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kmahjongg.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kmines.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/knavalbattle.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/knetwalk.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kolf.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kollision.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/konquest.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kpat.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kreversi.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kshisen.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/ksirk.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/ksnakeduel.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kspaceduel.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/ksquares.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/ksudoku.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/ktuberling.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/kubrick.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/libkdegames.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/libkmahjongg.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/lskat.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/palapeli.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdegames/picmi.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/gwenview.nix15
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/kamera.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/kcolorchooser.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-mobipocket.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-strigi-analyzer.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-thumbnailers.nix13
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/kgamma.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/kolourpaint.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/kruler.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/ksaneplugin.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/ksnapshot.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/libkdcraw.nix13
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/libkexiv2.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/libkipi.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/libksane.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/okular.nix17
-rw-r--r--pkgs/desktops/kde-4.11/kdegraphics/svgpart.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdelibs/kdelibs.nix46
-rw-r--r--pkgs/desktops/kde-4.11/kdelibs/nepomuk-core.nix20
-rw-r--r--pkgs/desktops/kde-4.11/kdelibs/nepomuk-widgets.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdemultimedia/audiocd-kio.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdemultimedia/dragon.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdemultimedia/ffmpegthumbs.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdemultimedia/juk.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdemultimedia/kmix.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdemultimedia/kscd.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdemultimedia/libkcddb.nix8
-rw-r--r--pkgs/desktops/kde-4.11/kdemultimedia/libkcompactdisc.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdemultimedia/mplayerthumbs.nix7
-rw-r--r--pkgs/desktops/kde-4.11/kdenetwork/kdenetwork-filesharing.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdenetwork/kdenetwork-strigi-analyzers.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdenetwork/kdnssd.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdenetwork/kget.nix20
-rw-r--r--pkgs/desktops/kde-4.11/kdenetwork/kopete.nix27
-rw-r--r--pkgs/desktops/kde-4.11/kdenetwork/kppp.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdenetwork/krdc.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdenetwork/krfb.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdepim-runtime.nix16
-rw-r--r--pkgs/desktops/kde-4.11/kdepim.nix28
-rw-r--r--pkgs/desktops/kde-4.11/kdepimlibs.nix19
-rw-r--r--pkgs/desktops/kde-4.11/kdeplasma-addons.nix23
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/cervisia.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/dolphin-plugins.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/kapptemplate.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/kcachegrind.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/kde-dev-scripts.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/kde-dev-utils.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/kdesdk-kioslaves.nix12
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/kdesdk-strigi-analyzers.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/kdesdk-thumbnailers.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/kompare.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/lokalize.nix13
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/okteta.nix13
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/poxml.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdesdk/umbrello.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdetoys/amor.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdetoys/kteatime.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdetoys/ktux.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/ark.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/filelight.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/kcalc.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/kcharselect.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/kdf.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/kfloppy.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/kgpg.nix12
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/kremotecontrol.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/ktimer.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/kwallet.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/print-manager.nix27
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/superkaramba.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdeutils/sweeper.nix9
-rw-r--r--pkgs/desktops/kde-4.11/kdewebdev/kfilereplace.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdewebdev/kimagemapeditor.nix10
-rw-r--r--pkgs/desktops/kde-4.11/kdewebdev/klinkstatus.nix11
-rw-r--r--pkgs/desktops/kde-4.11/kdewebdev/kommander.nix9
-rw-r--r--pkgs/desktops/kde-4.11/l10n/default.nix44
-rwxr-xr-xpkgs/desktops/kde-4.11/l10n/l10n-manifest.sh32
-rw-r--r--pkgs/desktops/kde-4.11/l10n/manifest-4.11.0.nix272
-rw-r--r--pkgs/desktops/kde-4.11/oxygen-icons.nix15
-rw-r--r--pkgs/desktops/kde-4.11/support/akonadi/default.nix24
187 files changed, 3133 insertions, 0 deletions
diff --git a/pkgs/desktops/kde-4.11/applications/kate.nix b/pkgs/desktops/kde-4.11/applications/kate.nix
new file mode 100644
index 000000000000..e8efc87775ab
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/applications/kate.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs, kactivities, qjson, pyqt4, sip, python, pykde4 }:
+
+kde {
+
+  buildInputs = [ kdelibs kactivities qjson pyqt4 sip python pykde4];
+
+  meta = {
+    description = "Kate, the KDE Advanced Text Editor, as well as KWrite";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/applications/konsole.nix b/pkgs/desktops/kde-4.11/applications/konsole.nix
new file mode 100644
index 000000000000..0db47fb2d7c4
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/applications/konsole.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs, kde_baseapps }:
+
+kde {
+
+  buildInputs = [ kdelibs kde_baseapps ];
+
+  meta = {
+    description = "Konsole, the KDE terminal emulator";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/default.nix b/pkgs/desktops/kde-4.11/default.nix
new file mode 100644
index 000000000000..b1cd9e919fbb
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/default.nix
@@ -0,0 +1,42 @@
+{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.11.0" }:
+
+let
+  # Need callPackageOrig to avoid infinite cycle
+  kde = callPackageOrig ./kde-package {
+    inherit release ignoreList extraSubpkgs callPackage;
+  };
+
+  # The list of igored individual modules
+  ignoreList = {
+    # Doesn't work yet
+    kdeutils = [ "ksecrets" ];
+    # kdeadmin/strigi-analyzer has no real code
+    kdeadmin = [ "strigi-analyzer" ];
+    # Most of kdebindings do not compile due to a bug in the buildsystem
+    kdebindings = [ "kimono" "korundum" "kross-interpreters" "perlkde" "qyoto" ];
+  };
+
+  # Extra subpackages in the manifest format
+  extraSubpkgs = {};
+
+in
+
+kde.modules // kde.individual //
+{
+  inherit (kde) manifest modules individual splittedModuleList;
+
+  akonadi = callPackage ./support/akonadi { };
+
+  qt4 = qt48;
+
+  kdebase_workspace = kde.modules.kde_workspace;
+
+  inherit release;
+
+  full = stdenv.lib.attrValues kde.modules;
+
+  l10n = callPackage ./l10n {
+    inherit release;
+    inherit (kde.manifest) stable;
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/files/kde-wallpapers-buildsystem.patch b/pkgs/desktops/kde-4.11/files/kde-wallpapers-buildsystem.patch
new file mode 100644
index 000000000000..378cdb646940
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/files/kde-wallpapers-buildsystem.patch
@@ -0,0 +1,17 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3d3e247..f78db67 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,5 +1,10 @@
+-find_package(KDE4 REQUIRED)
+-include(KDE4Defaults)
++project(kde-wallpapers NONE)
++if( WALLPAPER_INSTALL_DIR )
++  message(STATUS "Installing wallpapers to user-supplied directory ${WALLPAPER_INSTALL_DIR}")
++else()
++  find_package(KDE4 REQUIRED)
++  include(KDE4Defaults)
++endif()
+ 
+ install(DIRECTORY Air DESTINATION ${WALLPAPER_INSTALL_DIR} PATTERN .svn EXCLUDE)
+ 
diff --git a/pkgs/desktops/kde-4.11/files/polkit-install.patch b/pkgs/desktops/kde-4.11/files/polkit-install.patch
new file mode 100644
index 000000000000..d2ecac663ec5
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/files/polkit-install.patch
@@ -0,0 +1,12 @@
+diff -ru -x '*~' kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake
+--- kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake	2011-05-20 22:24:54.000000000 +0200
++++ kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake	2011-07-12 14:03:00.000000000 +0200
+@@ -139,7 +139,7 @@
+         ${CMAKE_INSTALL_PREFIX} _KDE4_AUTH_POLICY_FILES_INSTALL_DIR
+         ${POLKITQT-1_POLICY_FILES_INSTALL_DIR})
+ 
+-    set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR ${_KDE4_AUTH_POLICY_FILES_INSTALL_DIR} CACHE STRING 
++    set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions" CACHE STRING 
+         "Where policy files generated by KAuth will be installed" FORCE)
+ elseif(KDE4_AUTH_BACKEND_NAME STREQUAL "FAKE")
+     set (KAUTH_COMPILING_FAKE_BACKEND TRUE)
diff --git a/pkgs/desktops/kde-4.11/kactivities.nix b/pkgs/desktops/kde-4.11/kactivities.nix
new file mode 100644
index 000000000000..06381bb13d7d
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kactivities.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, nepomuk_core }:
+
+kde {
+  propagatedBuildInputs = [ kdelibs nepomuk_core ];
+
+  meta = {
+    description = "KDE activities library and daemon";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kde-base-artwork.nix b/pkgs/desktops/kde-4.11/kde-base-artwork.nix
new file mode 100644
index 000000000000..3f416cebddc4
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kde-base-artwork.nix
@@ -0,0 +1,14 @@
+{ kde, kdelibs }:
+
+kde {
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = "0mrd3w7rhsj0v92c8rh9zjxyifq7wyvwszksf2gyn53dzd06blk8";
+
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE Base artwork";
+    license = "GPL";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kde-baseapps/kde-baseapps.nix b/pkgs/desktops/kde-4.11/kde-baseapps/kde-baseapps.nix
new file mode 100644
index 000000000000..c2a256646786
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kde-baseapps/kde-baseapps.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs, htmlTidy, kactivities
+, nepomuk_core, nepomuk_widgets, libXt }:
+
+kde {
+  buildInputs = [ kdelibs nepomuk_core nepomuk_widgets htmlTidy kactivities libXt ];
+
+  meta = {
+    description = "Base KDE applications, including the Dolphin file manager and Konqueror web browser";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kde-package/4.11.0.nix b/pkgs/desktops/kde-4.11/kde-package/4.11.0.nix
new file mode 100644
index 000000000000..08de0fe4b0ec
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kde-package/4.11.0.nix
@@ -0,0 +1,444 @@
+{stable=true;
+hashes=builtins.listToAttrs[
+  {name="amor";value="0xz73rnznng6nd8ax2s8yh5wmvlwlhy7qm2y0m15fxw8x9dyym2s";}
+  {name="analitza";value="1pvi6nsdh64pjmrq0xm6vjl2rdpllm8vizf5pxm64m3s225x11r8";}
+  {name="ark";value="152cilip6g0jvqvczv29kdnlghyra0qs9166g4py82w94f96h4a0";}
+  {name="audiocd-kio";value="1xly06zy2m7xg8b675y2l3xj2mixy739f65b6mciyz0240qlian5";}
+  {name="blinken";value="0kyrblhn4b46fcf2rkidkkvpvnirz1z866yp7mi3m9dnl9iqzk32";}
+  {name="bomber";value="1s9wkdz7mgmsr438ikjxc3qj810aw39kblwc2a0v21skhv9glx40";}
+  {name="bovo";value="1p4v5nvx6nfprpv5wm9ab25d0wklx0znf6257ssy97p9knj7lzf4";}
+  {name="cantor";value="00j2fwl2y93k3mwqmnl9ndcqdfmxl2r5nff920sjmylhplsrvzri";}
+  {name="cervisia";value="1gg53a5lcp2mlii285ys6d570wzjx7v5h3g0r1l3h146ipnddkpm";}
+  {name="dolphin-plugins";value="1cj0vajrpmi1imz3gg6has8bqm2hj2px0k2fda35lc0wb2h6vwip";}
+  {name="dragon";value="1gclq1v9a84aq9jbakc0fs0c4y7ykzf05vl0gkpjkijnnb5sr028";}
+  {name="ffmpegthumbs";value="04zarg373420mzdc4psziw173flpv1jc80xavq5qff4j8njjynw4";}
+  {name="filelight";value="1q7lsiq2xxvfs30i0l0ywvpzch0kd8blbg10r56p15wyyjc84h1d";}
+  {name="granatier";value="14zlk4y30kgbx69hb516dcva78xqk7yhi90f7yg327r5a72njwvv";}
+  {name="gwenview";value="0686bybi10vyz6yb2h5zi906d295rcd7wlgh87zjiw0p2rz5qd6b";}
+  {name="jovie";value="02b2jl3ip7y0sd4xscw8qmkmm646ksmlm0c3xwwcijwvdj1h3xsw";}
+  {name="juk";value="1wm0ngpsc62766l127nk38cg5vdhlqsh3gsl7alk2rcrgfainkhh";}
+  {name="kaccessible";value="0mixfx8f8097p2y7zqacawb64r8jzj6iqrkhh7xp9ldwrrnf8jr0";}
+  {name="kactivities";value="0s5l0h2axq43ip8a4wn9lqb7i6hvxzzpscr1wv9qm02g98h1kzc5";}
+  {name="kajongg";value="0g7cx3qjrhga37wp9wypwwhzsk4q4fy63qqbpzh7znc4kfiw3j56";}
+  {name="kalgebra";value="01vgg54sr7g3h7lk9cd3m739y317x680brnp858chqvi7jq9nw5i";}
+  {name="kalzium";value="1zbrq2jm7j9sjzxfl93kambv1n665ah57ljr16r5dqk0x3xchirn";}
+  {name="kamera";value="1bhmxij7fnzc26hv4fbglqm3fhi5jdd8bqxnyx91sjja34wr55l4";}
+  {name="kanagram";value="1hdv0ydklz8y8wh49drpmgc9hqkwp59zvwn39h67fsiig44k6jag";}
+  {name="kapman";value="024q8w4x1hy518qcl76nxgr6q8h3blkw9qfg9z6d899qa6zb6ihq";}
+  {name="kapptemplate";value="09xgy5wrqhxlgvk6yhdfvickqx4v4rqd0s9zda7mlj13yfphbq8k";}
+  {name="kate";value="1r8i3hiqfxs2idjkszkzzn5lpkpm5bzjprs9dv33gzfnnq7w6q54";}
+  {name="katomic";value="0g197ynk6pzwxhr3yw20jw16qd9664j35vsr7511jxyydadbnrx6";}
+  {name="kblackbox";value="1pv9f3vh7l25xlvxpvznjiw3va2ljcz2znc1qxy6ib907qfgnryv";}
+  {name="kblocks";value="0rahh2hra6k0f0z9sh906avznv6x451da6w62bn561hl1fsd3qmy";}
+  {name="kbounce";value="1h25lyga30fxrhrlagw51la3vl38h5qil6zrwr5j3n8agard6nxf";}
+  {name="kbreakout";value="09mq49ia5synl9k166k2zw7n4awv2jkv0c0cckfc1byfvyfp6hnq";}
+  {name="kbruch";value="1fmc1mi94c8dz20qlj8gva64qk8kwdy22frlx8mv049lpaslhnh9";}
+  {name="kcachegrind";value="0iqa5vd03b3ysms692yqk4wy0igmrzjg1jfyw5sapdch1fv4v5bq";}
+  {name="kcalc";value="0yy41pjy0ai47yl2q8ii74b1qqcrg79xan8m1pxlx1pn0pdqib5h";}
+  {name="kcharselect";value="0sbz5c3jkmh6vpb2zh1jmy1l5f37nwxvhn3a1gbzv20wf2a3mh4x";}
+  {name="kcolorchooser";value="11kjklvvxfg2drwc0gh3z14gh94d6yimswh4g0nrpb7ppny8h0hh";}
+  {name="kcron";value="0ydm9b9x38j4n2v6j144v1jkh91nblbfln0yyfshiig44lxfcg4y";}
+  {name="kdeartwork";value="17s40canzk0z6v4hr683l1xzmpld53lma6m2z7kb537ms4sjrim9";}
+  {name="kde-baseapps";value="06mavmk0v54lwma083w7wyr2374vdwblcbisqb6kr4fsqdng67yk";}
+  {name="kde-base-artwork";value="020j4hi6qmwkjipgf9840m1828bjlcy9vg3nmhrjxvj6wxbaijib";}
+  {name="kde-dev-scripts";value="1hscdf1qdg8kc8x2hp0mibp0k3lq255h8a1kj03b8bk0agrzycjr";}
+  {name="kde-dev-utils";value="05nlisn69r6p58340gaaa8ma1ndpafv69yrynln4nzsw5va6awiv";}
+  {name="kdegraphics-mobipocket";value="1f1x07yy0awz7bas0c189xqn1zrv4sz9fb2vlix1g9qbz4j7440v";}
+  {name="kdegraphics-strigi-analyzer";value="0sq5lmnlgz52znz5jlsd2dixfmiqb6cmwrf6x9pw1px5i76gc63m";}
+  {name="kdegraphics-thumbnailers";value="09bmhxxr53p4szqln8s5pz4yfacyn8drq4p7ffsmp7crhjfjxad3";}
+  {name="kdelibs";value="0q7gzfzkdy8vi56v7xkq79ib3d3x22mi9prc5lkqzq3w9f08xnim";}
+  {name="kdenetwork-filesharing";value="11sc6jxnjl3i5wncc6jpif9d8c6dha3r96qjm5l2afg3g945kjq0";}
+  {name="kdenetwork-strigi-analyzers";value="125vk7y2yjni5bwgld47fg9ms0fksd2mwgpzlmbalcz5a05pwxqr";}
+  {name="kdepim";value="017005mndsg69pfvwn24mdbw0cjny7i3hhvc9102hwv7vn3b38c9";}
+  {name="kdepimlibs";value="0q5g626n6117ri11inyr29lnzirpm8ls68h72m8gy7jbbhpsy2h9";}
+  {name="kdepim-runtime";value="17yjsyyn7hp24r1nx4aggcfjkpw8nyb7lzpp21nf61fb26gdk0m9";}
+  {name="kdeplasma-addons";value="174770q0jgx7h61z48322aqvzprnfyfb1yipv2v725r79wpl8knc";}
+  {name="kde-runtime";value="0yafj2mxqp26zsg3kh1s0vw77wx0l9468jh1g0wkl1hbwxjlszp7";}
+  {name="kdesdk-kioslaves";value="00prg3pblgil86way9air9sl01gfrag8ika96nv8i5qhv0fs5x3n";}
+  {name="kdesdk-strigi-analyzers";value="08rpclbv0csrciqh688akfzh36wy2nc60gsbqfrwrmz82cn0rgyp";}
+  {name="kdesdk-thumbnailers";value="1zx6g94vixk7id1zb7a4f6x4ymkfm4n6g6j2akklzwnba1nqadjx";}
+  {name="kde-wallpapers";value="0km2zpgy4qpqlvnbnbfnklal900idf85xls9h3dn57qckrvscs7n";}
+  {name="kdewebdev";value="1pzph18gw47gy7yfmzcmz7hx35wgsdgc7z7h50p15irrfqd9vxvz";}
+  {name="kde-workspace";value="0wdnnwvzd8djysims0sflban0vvf4rjl5xy9cfxl5c61kgf31zvy";}
+  {name="kdf";value="0znmsv5cpxciqx1pksicpchfqk25damz4zrhsh8fl1y41wr5i0g7";}
+  {name="kdiamond";value="13pz413fvwz74jhvyfvn3l18p5asin2l8r39mqvrp5izz876lrxs";}
+  {name="kdnssd";value="1my59awfn0h67aza1wym7cdlbffm22hf1dma80k4kqwrcws433q7";}
+  {name="kfloppy";value="0aglds7n33pk19qmq26xdr2bmfn3hv80zd479a3czlh0yn0wl0lb";}
+  {name="kfourinline";value="0mbggqssizcsrddi2nb93hwyf9wa6lnqmyswia5bp6803diw0iyr";}
+  {name="kgamma";value="0fwgk3jq5x5fp36jp1yvid69pzqdaac7p8xyd7qwa0m2zz2mbddy";}
+  {name="kgeography";value="0hya5wqigyahl24cmm1ssi5xc6pv8d6hvrd5z4s185pd5i2syfyf";}
+  {name="kget";value="0pnnfizq6xmv3bmpdvqf12pnr1rlbzpdn05c71cl0200frd0samd";}
+  {name="kgoldrunner";value="1s2847rhl1r35a3sjh10yadg7qjs4qycv2j2yc4k6yvh226wixzn";}
+  {name="kgpg";value="1hsa5z4igqn5fd9rnjmm80k6mylf3zyg6ss0m66j96f1r1hc7y9g";}
+  {name="khangman";value="0myjlfm1bws6g8a6r27n4cfdiz6vsii7wk03dhc25a63mbw30lq2";}
+  {name="kig";value="1w0i2q6vvy310ffsc87dahbxx2pv0alsv36wcz5j41a0c0q1lnnq";}
+  {name="kigo";value="026dwwakci2xsxzr05k9wdfn8k22sd0f2qd2hjpjf3nd3306q2m7";}
+  {name="killbots";value="1acn16i1k9il6qflw5kbmwgrdhgf59ziqv0dsdj541wp06v9syzf";}
+  {name="kimono";value="0vws62kw7n6xy4sgyn2w1a1ysfb7g3l730rfvcgdcch1v5k5w6sx";}
+  {name="kiriki";value="0jz9rsmvyb3yqnxpb0fr8nxqcbb55ah4gg75mphxvagfak6180x8";}
+  {name="kiten";value="1vvpd63783lzwb1ixchxzcnv4dwhdfdqvgf6ambxiabdhwzzhrfp";}
+  {name="kjumpingcube";value="0czsirg9r8kngy8y21ds491mdqcysn7c5yravrbvv399j71fgcl7";}
+  {name="klettres";value="0b7zd1f9a3b2d3r4wx03b3gclbnxyxl8sdq4mkrmvxlbv6is4w41";}
+  {name="klickety";value="00yzd79lm7rlfc96cg0asvj3zy1bwb4d0qx2sarf0ny1sbs05d52";}
+  {name="klines";value="1qvjhb88vzymy8c75azhchqxp21iwvbhxiq0mzzb4wg513qz9b1w";}
+  {name="kmag";value="0p7k9w93zyl6ffjwydjfm9pps4irrgdcjf9ksbzm5r41ayj1x3nh";}
+  {name="kmahjongg";value="0wz4lvy4gzix5c5viwcfxqvv43n65151wfz9jay09227f5qfqz1w";}
+  {name="kmines";value="0gsyhmzcj3579bscdlzyp3y1lsxgk7fz6s8gzs36pb1d7cll30i1";}
+  {name="kmix";value="1h5z508yy0y39p5dhmz4lvq2fsl1y9hiqgm0m3xk6js1ysz5cp0w";}
+  {name="kmousetool";value="1p57b4s87hw5rhj3d1m9qaw8r0wx4x7brc9ksizxyjfm90q8hj00";}
+  {name="kmouth";value="1bmmv8w6w9z9dnmm8bwai8wvj1cz3nbibd9qilv0wzy8f9x8z2n2";}
+  {name="kmplot";value="037n51fvpj8r4fz98f1f1jm9pzmlpbcn428cq8kn2p6ahy9g0zhn";}
+  {name="knavalbattle";value="1i128qa95zi0fz6bkkkc0qic630c4n6r24bnc73wp38kkklj1mfm";}
+  {name="knetwalk";value="1yfflp2yndjv0fawahiqq33x9ivv0r5dxivhy38p1xx3bw7aa3qg";}
+  {name="kolf";value="0cfi9mfj1ng7p6vqckjpx4hvzs4cqkiy0wk0c32gyzm3w76ggdsk";}
+  {name="kollision";value="17hzzp4pwl46skf7n2aapxc1wbihxvb8p6z5ch7315d967fbw1iy";}
+  {name="kolourpaint";value="1mvqicbjmbyx7wmw8l8gsfci2x0mg7c7csfbib09p6l5ypr0w5an";}
+  {name="kompare";value="1s5yb2jk6dgsaciwklil43vc3zpr70sarakray0jz22w8sbp00l4";}
+  {name="konquest";value="0v9icbn3pam8w6akz8sk4qpmq8447l9d692877yz9a0wbd4kc3yk";}
+  {name="konsole";value="07pikjzjn824xvjjszvczwwg2alj8qqr7ajy0c7wa9w711hqj654";}
+  {name="kopete";value="114g0pl67vdacxfcnpnhzmy9aarmjm1j6iy6jxc1v3ahrmv7iy1q";}
+  {name="korundum";value="07s4y585a2x6wg9m8hfwhxixbp03aa8z4f7cyk7i7fgvhy32s4wh";}
+  {name="kpat";value="1dqbhn3lypjfnhn4i6212g3spdihp0j12vgkxwf0pii79dwk1lih";}
+  {name="kppp";value="1qk2hvpi72w10gyipw3dcsmkqlg5shvr943rxhkjpx7vp327gcii";}
+  {name="krdc";value="0ikb0bmcq8zpmhr2jbyg40ihjzvi1zfkhcf6y76yjsifzx5nkxaj";}
+  {name="kremotecontrol";value="03mwsl79ljd6zni1ijxbrhl4pm7l52dxdjr5456avx6pbp7rq8j7";}
+  {name="kreversi";value="0r66kj0lanj54ajk1fdn6kijsq412gknva3i29wsvy0hlg18lwgf";}
+  {name="krfb";value="096a61zv76nyqkh9cdzjbgy62g3vi9a7xiwkx0mw63jpfag5sqws";}
+  {name="kross-interpreters";value="0x12cl1hnj9rfasivs3j1m15lr5pmh65bm2dghcypzffs1h4m17h";}
+  {name="kruler";value="0cv3qrs20qckx3d4y0a5ciy6n3hnlxhi20ln9m6szk5nrqwwf8hv";}
+  {name="ksaneplugin";value="02kdbnalq6jfkvcj0dmiyp6hijm8jjl1wl4fxd0kky0wdpj25mqw";}
+  {name="kscd";value="1dmmjzphxy00yynvmb238s60c0xjb9arcyjnynm1pyz8gwbjv370";}
+  {name="kshisen";value="1rildx85ajl14j7qhkwfv3ddyai2m3d2mf6d4i6hd4f6hi01y6lc";}
+  {name="ksirk";value="1rzihjagj78lxyprhzrixk129wgn6v9zacbh5ash6mfgmvpp28fq";}
+  {name="ksnakeduel";value="0fi32y79gjnajswwb5ldkyk0aap1cbdb7i6wdaskpwjh7m9xgbqj";}
+  {name="ksnapshot";value="162rbwlg16b0lq436rsmdaljrp4na0c7hsviw8mv989ylm7k78g5";}
+  {name="kspaceduel";value="1k228vhlv1fglp4572w7li3dvz1inn9x08rqfm167qisz7lz9gk0";}
+  {name="ksquares";value="0i0gw2dq657p3nnlp7billnwlz0jynb01bd3alis9b0y7fzr8141";}
+  {name="kstars";value="1hlv4x43asrz0kha7sypw073zpnb0z1mmwxqsjm7rdb3fzr664ca";}
+  {name="ksudoku";value="1ym6q32jlh55q4af622mq2x4q7ir61h54y03i1cwwl0n536jarw3";}
+  {name="ksystemlog";value="1lipz5ijw90zifvcj8j5cbm5myn3j31v0faik352dy552zbc69ld";}
+  {name="kteatime";value="0nkfshr4gh71yvb4fn3zv99mj8ywq98fmzl41pc8g7zb78c56min";}
+  {name="ktimer";value="0bfyhxcnz4cll3al5sqjiilhhy0wckvnsxl1j9v9cl6fj0yclccx";}
+  {name="ktouch";value="0j2qxh2r1pasa86zakil9hbw0vb39qgwcmkjkds4mgd1rdx3z063";}
+  {name="ktuberling";value="0imb0djrsi3b8aasyycalv7b6r42879053h9r89bq0vr7frshza5";}
+  {name="kturtle";value="04739cjbc8hnhjmccamiim3nhm09jpd5398ckwbqa7z1jrnrfglx";}
+  {name="ktux";value="1dkcca00s2cxr9kimqm8vlar0d47184ba0miihipgi7p752sik5a";}
+  {name="kubrick";value="1f1sfr1w66b3i4pi7b8y3wbks5l2dxij4azx8dzracanfraymhs6";}
+  {name="kuser";value="1r1ysz52w7v8nhl4qj9b4aybb7q45qav9yyzdqxjlz3ixvvvyndy";}
+  {name="kwallet";value="0a5009qx820nfbdhcmwvzbda3bvdmjzbi9i5d05rkcbmxz7l3i7v";}
+  {name="kwordquiz";value="11rhwmzn93gilwlgjmh64pbmmkxf4nxjn3sg8plxnvfnjl27dlwr";}
+  {name="libkcddb";value="0jkblif31r3raykhl69c9mjircsdwrbmzdjks7ngwacyfng2ys7l";}
+  {name="libkcompactdisc";value="1c6g1q543siyk8m81bvxca4qv6pnfjxcmv5mgpnqsv5lbi0k0dil";}
+  {name="libkdcraw";value="1bi0ayf6sg93hx30k5yvblv3jfs8ba6sva7fig1xwag2a1dmpbms";}
+  {name="libkdeedu";value="080mmb6spbr9gyz16n92jai8hv13kxjqgnid8qmgzvrkl9dr5zpi";}
+  {name="libkdegames";value="07324rsyqszsjgpybpr7kpvfpkmg61c4yaaajfr0sbj5a0flypn9";}
+  {name="libkexiv2";value="0rpqj634vxffz1498m2vbjhndc3xha06b4w79wv9qlqgcsaglr9c";}
+  {name="libkipi";value="0har58a6ir3cywsl289avblpqlc67ghv6bhli79nhplblycaf56k";}
+  {name="libkmahjongg";value="1xz4x96l0cim2mcjk9ndikzb0p53i6nximmiwji5ysk9k9ijz8l2";}
+  {name="libksane";value="1wydrqjfczb6c37vpzzavqk4n4fxlg7xfxm3qmg90973z9mhndql";}
+  {name="lokalize";value="0ikcq18jsnk9iqf1636c1llbs43dcbv6pnanydsd8m7pp2x8wd77";}
+  {name="lskat";value="0ld93jvy7w6zy3jifwhb2cvm4qrylknbkgknhxcycq7vxxi1nd1r";}
+  {name="marble";value="0l32r5hbqzyvx85xzvphkyv8fz0ar9l6yyql01y54p9q7g2i0wvy";}
+  {name="mplayerthumbs";value="022n2mi1mkc6isc06b1w7q10k4qxgmvjdg9inysqnyw25zgzqbk0";}
+  {name="nepomuk-core";value="1a08gv05lql1jkkng655k8n4y9bxivaq3j6i9np901calr6q7vq6";}
+  {name="nepomuk-widgets";value="12pfyi4y64p0xs62ax18mbkwf9gd4gn0zsih338ryf2zdpw806c9";}
+  {name="okteta";value="0pg9i7ywcp377brrprl93ayxjjizdmyzgw6fx3zmry7amf45dw1z";}
+  {name="okular";value="1kgkvzfwcqc9v18qgm9vm36v9svasdwyqgbn70nxmwr7rmkvzpsy";}
+  {name="oxygen-icons";value="1m0mha40zg03jy2nvw1cnsi9li8kb84hq3mdr2839jd0qwf06rcs";}
+  {name="pairs";value="0scqagvvp0aaa5gknl5rlfv49r289mgrf5ll0sqbb7w2ga1z71kf";}
+  {name="palapeli";value="1qw6cn7qa5p918x5hhl45c17firyrj3llghd808k9jn0azffkn2k";}
+  {name="parley";value="191ql9jc7pib36ndrn3dyz7h0zqa1a5z06vcppcy56adw395khga";}
+  {name="perlkde";value="0x9pf8hjlnii6kh6jrli8p1glqmnly8ck5f0a9jllx5ylc2v7xgy";}
+  {name="perlqt";value="01wwnpkr0rafmp4lqggpnnzan4abgcbdkf49dzvzf202ksyc7i4s";}
+  {name="picmi";value="1x0gx8spda3m4d8gp3dw4wrjq9plya17x945dd3xww5jb537k9jg";}
+  {name="poxml";value="1icgyilfyv3kfgqnx81c0xfdjklx8rr8xhllqlgh5gpr109ib0v3";}
+  {name="print-manager";value="1bxkf7lfg2bvqy655zd22p1zsj68zyw95kl1xgk2fsbv4p4d4s46";}
+  {name="pykde4";value="0x2zx012n3ng7cnbwv6mjjy7d5cpxj0xicnnp5xpd7cqmi2v4k8x";}
+  {name="qtruby";value="0vbhfynyc0bffr76iz2jfxn15l1nv95g8y7lr9iy32ha84bmc5g3";}
+  {name="qyoto";value="0r8q9hwinac1bk0mvym60s9fwx7ahdsc80mk2a7i9bns5fpd30x8";}
+  {name="rocs";value="16kk54yqpx94cvhkmxvclzkz5w3lfrvcy3mvhyqb0czsknv7hmgm";}
+  {name="smokegen";value="0v1adb6qfmdpvw4yimq8dlxw8zsdbjdw0viwvlxbmvaf4an5kd3y";}
+  {name="smokekde";value="00rw321lcm0by0p8ij60kylg56nrpi0y3j0xj2ss10k9cr13cgwd";}
+  {name="smokeqt";value="116avrlmy7k3ihc176rjl81jlzcp9jlpym1j2cziyxpzygki77ip";}
+  {name="step";value="16vzcw16hqifhmscvhdrww0ykcim8bw271xbqb2g75rf2dcl1zvf";}
+  {name="superkaramba";value="1fx5qwmd6md2x8zxn8xqnildrcxpwlrxbqmi2ia4qm7ivngpdsy4";}
+  {name="svgpart";value="0az94772zvzsikm3imdaq7a22c1gfpn0yv2alc5nk85sa7yl3jzc";}
+  {name="sweeper";value="18nwfrjpdczrmm5ckr64vgznz0nfj53lbwafwyzabp1d2wbvp1r8";}
+  {name="umbrello";value="09pg5xng1mgfvna5kdl4wbfc38b4wrswfl48kdmskjk640p854z7";}
+];
+modules=[
+{
+  module="kdemultimedia";
+  split=true;
+  pkgs=[
+    { name="audiocd-kio"; sane="audiocd_kio"; }
+    { name="dragon";  }
+    { name="ffmpegthumbs";  }
+    { name="juk";  }
+    { name="kmix";  }
+    { name="kscd";  }
+    { name="libkcddb";  }
+    { name="libkcompactdisc";  }
+    { name="mplayerthumbs";  }
+  ];
+}
+{
+  module="kdegraphics";
+  split=true;
+  pkgs=[
+    { name="gwenview";  }
+    { name="kamera";  }
+    { name="kcolorchooser";  }
+    { name="kdegraphics-mobipocket"; sane="kdegraphics_mobipocket"; }
+    { name="kdegraphics-strigi-analyzer"; sane="kdegraphics_strigi_analyzer"; }
+    { name="kdegraphics-thumbnailers"; sane="kdegraphics_thumbnailers"; }
+    { name="kgamma";  }
+    { name="kolourpaint";  }
+    { name="kruler";  }
+    { name="ksaneplugin";  }
+    { name="ksnapshot";  }
+    { name="libkdcraw";  }
+    { name="libkexiv2";  }
+    { name="libkipi";  }
+    { name="libksane";  }
+    { name="okular";  }
+    { name="svgpart";  }
+  ];
+}
+{
+  module="kdelibs";
+  split=true;
+  pkgs=[
+    { name="kdelibs";  }
+    { name="nepomuk-core"; sane="nepomuk_core"; }
+    { name="nepomuk-widgets"; sane="nepomuk_widgets"; }
+  ];
+}
+{
+  module="kdenetwork";
+  split=true;
+  pkgs=[
+    { name="kdenetwork-filesharing"; sane="kdenetwork_filesharing"; }
+    { name="kdenetwork-strigi-analyzers"; sane="kdenetwork_strigi_analyzers"; }
+    { name="kdnssd";  }
+    { name="kget";  }
+    { name="kopete";  }
+    { name="kppp";  }
+    { name="krdc";  }
+    { name="krfb";  }
+  ];
+}
+{
+  module="kdeutils";
+  split=true;
+  pkgs=[
+    { name="ark";  }
+    { name="filelight";  }
+    { name="kcalc";  }
+    { name="kcharselect";  }
+    { name="kdf";  }
+    { name="kfloppy";  }
+    { name="kgpg";  }
+    { name="kremotecontrol";  }
+    { name="ktimer";  }
+    { name="kwallet";  }
+    { name="print-manager"; sane="print_manager"; }
+    { name="superkaramba";  }
+    { name="sweeper";  }
+  ];
+}
+{
+  module="applications";
+  split=true;
+  pkgs=[
+    { name="kate";  }
+    { name="konsole";  }
+  ];
+}
+{
+  module="kdetoys";
+  split=true;
+  pkgs=[
+    { name="amor";  }
+    { name="kteatime";  }
+    { name="ktux";  }
+  ];
+}
+{
+  module="kdesdk";
+  split=true;
+  pkgs=[
+    { name="cervisia";  }
+    { name="dolphin-plugins"; sane="dolphin_plugins"; }
+    { name="kapptemplate";  }
+    { name="kcachegrind";  }
+    { name="kde-dev-scripts"; sane="kde_dev_scripts"; }
+    { name="kde-dev-utils"; sane="kde_dev_utils"; }
+    { name="kdesdk-kioslaves"; sane="kdesdk_kioslaves"; }
+    { name="kdesdk-strigi-analyzers"; sane="kdesdk_strigi_analyzers"; }
+    { name="kdesdk-thumbnailers"; sane="kdesdk_thumbnailers"; }
+    { name="kompare";  }
+    { name="lokalize";  }
+    { name="okteta";  }
+    { name="poxml";  }
+    { name="umbrello";  }
+  ];
+}
+{
+  module="kdegames";
+  split=true;
+  pkgs=[
+    { name="bomber";  }
+    { name="bovo";  }
+    { name="granatier";  }
+    { name="kajongg";  }
+    { name="kapman";  }
+    { name="katomic";  }
+    { name="kblackbox";  }
+    { name="kblocks";  }
+    { name="kbounce";  }
+    { name="kbreakout";  }
+    { name="kdiamond";  }
+    { name="kfourinline";  }
+    { name="kgoldrunner";  }
+    { name="kigo";  }
+    { name="killbots";  }
+    { name="kiriki";  }
+    { name="kjumpingcube";  }
+    { name="klickety";  }
+    { name="klines";  }
+    { name="kmahjongg";  }
+    { name="kmines";  }
+    { name="knavalbattle";  }
+    { name="knetwalk";  }
+    { name="kolf";  }
+    { name="kollision";  }
+    { name="konquest";  }
+    { name="kpat";  }
+    { name="kreversi";  }
+    { name="kshisen";  }
+    { name="ksirk";  }
+    { name="ksnakeduel";  }
+    { name="kspaceduel";  }
+    { name="ksquares";  }
+    { name="ksudoku";  }
+    { name="ktuberling";  }
+    { name="kubrick";  }
+    { name="libkdegames";  }
+    { name="libkmahjongg";  }
+    { name="lskat";  }
+    { name="palapeli";  }
+    { name="picmi";  }
+  ];
+}
+{
+  module="kdeedu";
+  split=true;
+  pkgs=[
+    { name="analitza";  }
+    { name="blinken";  }
+    { name="cantor";  }
+    { name="kalgebra";  }
+    { name="kalzium";  }
+    { name="kanagram";  }
+    { name="kbruch";  }
+    { name="kgeography";  }
+    { name="khangman";  }
+    { name="kig";  }
+    { name="kiten";  }
+    { name="klettres";  }
+    { name="kmplot";  }
+    { name="kstars";  }
+    { name="ktouch";  }
+    { name="kturtle";  }
+    { name="kwordquiz";  }
+    { name="libkdeedu";  }
+    { name="marble";  }
+    { name="pairs";  }
+    { name="parley";  }
+    { name="rocs";  }
+    { name="step";  }
+  ];
+}
+{
+  module="kdeadmin";
+  split=true;
+  pkgs=[
+    { name="kcron";  }
+    { name="ksystemlog";  }
+    { name="kuser";  }
+  ];
+}
+{
+  module="kdebindings";
+  split=true;
+  pkgs=[
+    { name="kimono";  }
+    { name="korundum";  }
+    { name="kross-interpreters"; sane="kross_interpreters"; }
+    { name="perlkde";  }
+    { name="perlqt";  }
+    { name="pykde4";  }
+    { name="qtruby";  }
+    { name="qyoto";  }
+    { name="smokegen";  }
+    { name="smokekde";  }
+    { name="smokeqt";  }
+  ];
+}
+{
+  module="kdeaccessibility";
+  split=true;
+  pkgs=[
+    { name="jovie";  }
+    { name="kaccessible";  }
+    { name="kmag";  }
+    { name="kmousetool";  }
+    { name="kmouth";  }
+  ];
+}
+{
+  module="kde-baseapps";
+sane="kde_baseapps";  split=true;
+  pkgs=[
+    { name="kde-baseapps"; sane="kde_baseapps"; }
+  ];
+}
+{ module="kactivities";  split=false;}
+{ module="kdeartwork";  split=false;
+  pkgs=[
+    { name="ColorSchemes"; }
+    { name="IconThemes"; }
+    { name="emoticons"; }
+    { name="kscreensaver"; }
+    { name="kwin-styles"; sane="kwin_styles";}
+    { name="sounds"; }
+    { name="styles"; }
+    { name="wallpapers"; }
+    { name="HighResolutionWallpapers"; }
+    { name="WeatherWallpapers"; }
+    { name="desktopthemes"; }
+  ];
+
+}
+{ module="kde-base-artwork"; sane="kde_base_artwork"; split=false;}
+{ module="kdelibs";  split=false;}
+{ module="kdepim";  split=false;}
+{ module="kdepimlibs";  split=false;}
+{ module="kdepim-runtime"; sane="kdepim_runtime"; split=false;}
+{ module="kdeplasma-addons"; sane="kdeplasma_addons"; split=false;}
+{ module="kde-runtime"; sane="kde_runtime"; split=false;}
+{ module="kde-wallpapers"; sane="kde_wallpapers"; split=false;}
+{ module="kdewebdev";  split=false;
+  pkgs=[
+    { name="klinkstatus"; }
+    { name="kfilereplace"; }
+    { name="kimagemapeditor"; }
+    { name="kommander"; }
+  ];
+
+}
+{ module="kde-workspace"; sane="kde_workspace"; split=false;}
+{ module="oxygen-icons"; sane="oxygen_icons"; split=false;}
+];
+}
diff --git a/pkgs/desktops/kde-4.11/kde-package/default.nix b/pkgs/desktops/kde-4.11/kde-package/default.nix
new file mode 100644
index 000000000000..cd2860920d67
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kde-package/default.nix
@@ -0,0 +1,127 @@
+{ callPackage, runCommand, stdenv, fetchurl, qt4, cmake, automoc4
+, release, ignoreList, extraSubpkgs
+}:
+
+let
+  inherit (stdenv.lib) filter fold;
+  inherit (builtins) getAttr hasAttr remoteAttrs listToAttrs tail head;
+in
+rec {
+  manifest = import (./. + "/${release}.nix");
+
+  # src attribute for $name tarball
+  kdesrc = name: fetchurl {
+    url = "mirror://kde/" + (if manifest.stable then "" else "un")
+      + "stable/${release}/src/${name}-${release}.tar.xz";
+    sha256 = getAttr name manifest.hashes;
+  };
+
+  # Default meta attribute
+  defMeta = {
+    homepage = http://www.kde.org;
+    inherit (qt4.meta) platforms maintainers;
+  };
+
+  # KDE package built from the whole tarball
+  # This function is used both for monolithic modules and modules which are
+  # released as individual tarballs
+  kdeMonoPkg = name: let n_ = name; in a@{meta, name ? n_, ...}:
+    stdenv.mkDerivation ({
+      name = "${name}-${release}";
+      src = kdesrc name;
+      meta = defMeta // meta;
+      enableParallelBuilding = true;
+    } // (removeAttrs a [ "meta" "name" ]));
+
+  # kdeMonoPkg wrapper for modules splitted upstream compatible with combinePkgs
+  # API.
+  kdeSplittedPkg = module: {name, sane ? name}: kdeMonoPkg name;
+
+  # Build subdirectory ${subdir} of tarball ${module}-${release}.tar.xz
+  kdeSubdirPkg = module:
+    {name, subdir ? name, sane ? name}:
+    let name_ = name; in
+    a@{cmakeFlags ? [], name ? name_, meta ? {}, ...}:
+    stdenv.mkDerivation ({
+      name = "${name}-${release}";
+      src = kdesrc module;
+      cmakeFlags =
+        [ "-DDISABLE_ALL_OPTIONAL_SUBDIRECTORIES=TRUE"
+          "-DBUILD_doc=TRUE"
+          "-DBUILD_${subdir}=TRUE"
+        ] ++ cmakeFlags;
+      meta = defMeta // meta;
+      enableParallelBuilding = module.enableParallelBuilding or true;
+    } // (removeAttrs a [ "meta" "name" "cmakeFlags" ]));
+
+  # A KDE monolithic module
+  kdeMonoModule = name: path: callPackage path { kde = kdeMonoPkg name; };
+
+  # Combine packages in one module.
+  # Arguments:
+  #  * pkgFun --- a function of the following signature:
+  #               module: manifest_attrs: manual_attrs: derivation;
+  #  * module --- name of the module
+  #  * pkgs --- list of packages in manifest format
+  combinePkgs = pkgFun: module: pkgs:
+    let
+      f = p@{name, ...}:
+        callPackage (./.. + "/${module}/${name}.nix") { kde = pkgFun module p; };
+      list = map f pkgs;
+      attrs = listToAttrs (map
+        ({name, sane ? name, ...}@p: { name = sane; value = f p; })
+        pkgs);
+    in
+      runCommand "${module}-${release}"
+      ({passthru = attrs // {
+         propagatedUserEnvPackages = list;
+         projects = attrs;
+       };})
+        ''
+          mkdir -pv $out/nix-support
+          echo "${toString list}" | tee $out/nix-support/propagated-user-env-packages
+        '';
+
+  # Given manifest module data, return the module
+  kdeModule = { module, sane ? module, split, pkgs ? [] }:
+    let
+      pkgs_ = filterPkgs module pkgs;
+    in
+    # Module is splitted by upstream
+    if split then combinePkgs kdeSplittedPkg module pkgs_
+    # Monolithic module
+    else if pkgs == [] then kdeMonoModule module (./.. + "/${module}.nix")
+    # Module is splitted by us
+    else combinePkgs kdeSubdirPkg module pkgs_;
+
+  # The same, as nameValuePair with sane name
+  kdeModuleNV = a@{ module, sane ? module, ... }:
+    { name = sane; value = kdeModule a; };
+
+  filterPkgs = module: (p:
+      removeNames (stdenv.lib.attrByPath [module] [] ignoreList) p
+      ++ (stdenv.lib.attrByPath [module] [] extraSubpkgs));
+
+  # Remove attrsets with x.name in subst. Optimized for empty subst.
+  removeNames = subst: big:
+    fold (s: out: filter (x: x.name != s) out) big subst;
+
+  modules = listToAttrs (map kdeModuleNV manifest.modules);
+
+  splittedModuleList =
+    let
+      splitted = filter (a: a ? pkgs) manifest.modules;
+      names = map ({module, sane ? module, ...}: sane) splitted;
+    in
+    map (m: m.projects) (stdenv.lib.attrVals names modules);
+
+  individual =
+    stdenv.lib.zipAttrsWith
+    (
+      name: list:
+      if tail list == []
+      then head list
+      else abort "Multiple modules define ${name}"
+    )
+    splittedModuleList;
+}
diff --git a/pkgs/desktops/kde-4.11/kde-package/kde-manifest.sh b/pkgs/desktops/kde-4.11/kde-package/kde-manifest.sh
new file mode 100755
index 000000000000..e964ce3ddc11
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kde-package/kde-manifest.sh
@@ -0,0 +1,146 @@
+#! /bin/sh
+
+# Usage: download kde release to $dir, then run
+# $0 $dir
+
+dir="$1"
+
+# Detect release number & whether it is a stable release
+if [[ ! -d "${dir}" ]]; then
+  echo "${dir} is not a directory (or doesn't exist)!" >&2
+  exit 1
+fi
+
+release=$(ls "${dir}"/kdelibs-*.tar.xz | \
+  sed -e 's/.*kdelibs-//' -e 's/\.tar\.xz//')
+
+if [[ ${release##*.} -gt 50 ]]; then
+  stable="false"
+else
+  stable="true"
+fi
+
+echo "Detected release ${release}" >&2
+
+declare -A hash
+declare -A modules
+declare -a packages
+declare -a top_level
+
+# xsltproc output declares -A module
+if [[ ! -f kde_projects.xml ]]; then
+  curl -O -J http://projects.kde.org/kde_projects.xml
+fi
+eval `xsltproc kde-submodules.xslt kde_projects.xml`
+
+module[kde-baseapps]=kde-baseapps
+unset module[kactivities]
+
+print_sane() {
+  echo "Called print_sane $1" >&2
+  sane="${1//[^a-z0-9_]/_}"
+  if [[ "$sane" != "$1" ]]; then
+    echo "Sane version is $sane" >&2
+    echo -n "sane=\"$sane\";"
+  fi
+}
+
+for i in `cd "${dir}"; ls *-${release}.tar.xz`; do
+  package=${i%-${release}.tar.xz}
+  packages+=( "$package" )
+  echo -n "${package}.. " >&2
+  hash[$package]=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}")
+  echo -n ${hash[$package]} >&2
+
+  if [ -n "${module[$package]}" ]; then
+    m="${module[$package]}"
+    echo " (${m})" >&2
+    modules[$m]=1
+  else
+    top_level+=( "$package" )
+    echo " (top-level)" >&2
+  fi
+  #nix-store --add-fixed sha256 "${dir}/${i}" >&2
+done
+
+
+print_pkg_hash() {
+  echo "  {name=\"${1}\";value=\"${hash[$1]}\";}"
+}
+
+print_hashes(){
+  echo "hashes=builtins.listToAttrs["
+  for p in "${packages[@]}"; do print_pkg_hash "$p"; done
+  echo "];"
+}
+
+print_split_module(){
+  echo -n "$1:" >&2
+  echo -e "{\n  module=\"$1\";"
+  print_sane "$1"
+  echo "  split=true;"
+  echo "  pkgs=["
+  for p in "${packages[@]}"; do
+    if [[ "${module[$p]}" == "$1" ]]; then
+      echo -n "    { name=\"$p\"; "
+      print_sane "$p"
+      echo " }"
+      echo -n " $p" >&2
+    fi
+  done
+  echo "  ];"
+  echo "}"
+  echo >&2
+}
+
+print_mono_module(){
+  echo -en "{ module=\"$1\"; "
+  print_sane "$1"
+  echo -n "$1 ... " >&2
+  echo -n " split=false;"
+  cml="$1-$release/CMakeLists.txt"
+  tar -xf "${dir}/$1-${release}.tar.xz" "$cml"
+  if grep '^[^#]*add_subdirectory' $cml >/dev/null; then
+    if grep '^[^#]*add_subdirectory' $cml | grep -v macro_optional_add_subdirectory >/dev/null; then
+      echo " is monolithic (has unconditionally added subdirs)" >&2
+    else
+      subdirs=( `grep '^[^#]*add_subdirectory' $cml |
+        sed -e 's/[^#]*add_subdirectory *( *\(.*\) *)/\1/' |
+        grep -v '\(doc\|cmake\)'` )
+      echo " seems splittable, subdirs: ${subdirs[*]}" >&2
+      echo -e "\n  pkgs=["
+      for s in "${subdirs[@]}"; do
+        echo -en "    {"
+		echo -n " name=\"${s//\//-}\"; "
+        print_sane "$s"
+        if [[ $s != "${s//\//-}" ]]; then
+          echo -n "subdir=\"$s\"; "
+        fi
+        echo "}"
+      done
+      echo -e "  ];\n"
+    fi
+  else
+    echo " is monolithic (has no subdirs)" >&2
+  fi
+  rm $cml
+  rmdir $1-$release
+  echo "}"
+}
+
+print_modules(){
+  echo "modules=["
+  echo "Printing modules splitted by upstream" >&2
+  for m in "${!modules[@]}"; do print_split_module "$m"; done
+  echo >&2
+  echo "Printing modules not splitted by upstream (${top_level[*]})" >&2
+  for m in "${top_level[@]}"; do print_mono_module "$m"; done
+  echo "];"
+}
+
+echo "Writing ${release}.nix" >&2
+exec > "${release}.nix"
+echo "{stable=${stable};"
+print_hashes
+print_modules
+echo "}"
diff --git a/pkgs/desktops/kde-4.11/kde-runtime.nix b/pkgs/desktops/kde-4.11/kde-runtime.nix
new file mode 100644
index 000000000000..28e9aa52e624
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kde-runtime.nix
@@ -0,0 +1,23 @@
+{ kde, kdelibs, bzip2, libssh, exiv2, attica, qca2
+, libcanberra, virtuoso, samba, libjpeg, ntrack, pkgconfig, xz, pulseaudio
+, networkmanager, kactivities, kdepimlibs, openexr, ilmbase
+}:
+
+kde {
+  buildInputs = [
+    kdelibs attica xz bzip2 libssh libjpeg exiv2 ntrack
+    qca2 samba libcanberra pulseaudio
+    networkmanager kactivities kdepimlibs openexr
+#todo: add openslp
+  ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
+
+  passthru.propagatedUserEnvPackages = [ virtuoso ];
+
+  meta = {
+    license = "LGPL";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kde-wallpapers.nix b/pkgs/desktops/kde-4.11/kde-wallpapers.nix
new file mode 100644
index 000000000000..701a1f3771f2
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kde-wallpapers.nix
@@ -0,0 +1,17 @@
+{ kde, cmake }:
+
+kde {
+  nativeBuildInputs = [ cmake ];
+
+  patches = [ ./files/kde-wallpapers-buildsystem.patch ];
+
+  cmakeFlags = "-DWALLPAPER_INSTALL_DIR=share/wallpapers";
+
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = "07jwbxp4gdxkvxdasbzbv00l3kqrjph4d8dlbyxgryf12waykcmm";
+
+  meta = {
+    description = "Wallpapers for KDE";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kde-workspace.nix b/pkgs/desktops/kde-4.11/kde-workspace.nix
new file mode 100644
index 000000000000..0bb6ed606c79
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kde-workspace.nix
@@ -0,0 +1,39 @@
+{ kde, kdelibs, qimageblitz, libdbusmenu_qt, xorg, lm_sensors
+, pciutils, libraw1394, libusb1, python, libqalculate, akonadi
+, xkeyboard_config, kdepimlibs, pam, boost, gpsd, prison
+, libjpeg, pkgconfig, kactivities, qjson, udev
+}:
+
+kde {
+
+#todo: wayland, consolekit, xmms, opengles,  libusb isn't found
+  buildInputs =
+    [ kdelibs qimageblitz libdbusmenu_qt xorg.libxcb xorg.xcbutilimage libjpeg 
+      xorg.xcbutilrenderutil xorg.xcbutilkeysyms xorg.libpthreadstubs xorg.libXdmcp
+      xorg.libxkbfile xorg.libXcomposite  xorg.libXtst
+      xorg.libXdamage
+
+      python boost qjson lm_sensors gpsd libraw1394 pciutils udev
+      akonadi pam libusb1 libqalculate kdepimlibs  prison
+      kactivities
+    ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  preConfigure =
+   ''
+     # Fix incorrect path to kde4-config.
+     substituteInPlace startkde.cmake --replace '$bindir/kde4-config' ${kdelibs}/bin/kde4-config
+
+     # Fix the path to the keyboard configuration files.
+     substituteInPlace kcontrol/keyboard/xkb_rules.cpp \
+       --replace /usr/share/X11 ${xkeyboard_config}/etc/X11
+   '';
+
+  enableParallelBuilding = false; # frequent problems on Hydra
+
+  meta = {
+    description = "KDE workspace components such as Plasma, Kwin and System Settings";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeaccessibility/jovie.nix b/pkgs/desktops/kde-4.11/kdeaccessibility/jovie.nix
new file mode 100644
index 000000000000..d38c80c4c36a
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeaccessibility/jovie.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, speechd }:
+
+kde {
+  buildInputs = [ kdelibs speechd ];
+
+  meta = {
+    description = "Text-to-speech synthesis daemon";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeaccessibility/kaccessible.nix b/pkgs/desktops/kde-4.11/kdeaccessibility/kaccessible.nix
new file mode 100644
index 000000000000..98fae7c983f8
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeaccessibility/kaccessible.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, speechd }:
+
+kde {
+  buildInputs = [ kdelibs speechd ];
+
+  meta = {
+    description = "Bridge that provides accessibility services to applications";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeaccessibility/kmag.nix b/pkgs/desktops/kde-4.11/kdeaccessibility/kmag.nix
new file mode 100644
index 000000000000..606c61cddb63
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeaccessibility/kmag.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs }:
+
+kde {
+#todo: package qaccessibilityclient
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Screen magnifier for KDE";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeaccessibility/kmousetool.nix b/pkgs/desktops/kde-4.11/kdeaccessibility/kmousetool.nix
new file mode 100644
index 000000000000..8e0caa76ed9c
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeaccessibility/kmousetool.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, libXtst, libXt }:
+
+kde {
+  buildInputs = [ kdelibs libXtst libXt ];
+
+  meta = {
+    description = "A program that clicks the mouse for you";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeaccessibility/kmouth.nix b/pkgs/desktops/kde-4.11/kdeaccessibility/kmouth.nix
new file mode 100644
index 000000000000..4159501967cd
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeaccessibility/kmouth.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A type-and-say front end for speech synthesizers";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeadmin/kcron.nix b/pkgs/desktops/kde-4.11/kdeadmin/kcron.nix
new file mode 100644
index 000000000000..f585461af381
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeadmin/kcron.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Configure and schedule tasks";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeadmin/ksystemlog.nix b/pkgs/desktops/kde-4.11/kdeadmin/ksystemlog.nix
new file mode 100644
index 000000000000..88757a6b91c7
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeadmin/ksystemlog.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "System log viewer tool";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeadmin/kuser.nix b/pkgs/desktops/kde-4.11/kdeadmin/kuser.nix
new file mode 100644
index 000000000000..6118cf558bbd
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeadmin/kuser.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, kdepimlibs }:
+
+kde {
+  buildInputs = [ kdelibs kdepimlibs ];
+
+  meta = {
+    description = "User management tool";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeartwork/ColorSchemes.nix b/pkgs/desktops/kde-4.11/kdeartwork/ColorSchemes.nix
new file mode 100644
index 000000000000..acccf66976fc
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeartwork/ColorSchemes.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs }:
+
+kde {
+  name = "kde-color-schemes";
+
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Additional KDE color schemes";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeartwork/FindXscreensaver.cmake b/pkgs/desktops/kde-4.11/kdeartwork/FindXscreensaver.cmake
new file mode 100644
index 000000000000..499ed75268e9
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeartwork/FindXscreensaver.cmake
@@ -0,0 +1,73 @@
+#Macro to find xscreensaver directory
+
+# Copyright (c) 2006, Laurent Montel, <montel@kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+if (NOT XSCREENSAVER_FOUND)
+  FIND_PATH(XSCREENSAVER_DIR deco
+    HINTS
+      ${KDE4_INCLUDE_DIR}
+    PATHS
+      /usr
+      /usr/local
+      /opt/local
+      /usr/X11R6
+      /opt/kde
+      /opt/kde3
+      /usr/kde
+      /usr/local/kde
+      /usr/local/xscreensaver
+      /usr/openwin/lib/xscreensaver
+      /etc
+    PATH_SUFFIXES
+      lib${LIB_SUFFIX}/xscreensaver
+      lib${LIB_SUFFIX}/misc/xscreensaver
+      lib/xscreensaver
+      lib64/xscreensaver
+      lib/misc/xscreensaver
+      libexec/xscreensaver
+      bin/xscreensaver-hacks
+      hacks)
+  message(STATUS "XSCREENSAVER_DIR <${XSCREENSAVER_DIR}>")
+
+  FIND_PATH(XSCREENSAVER_CONFIG_DIR deco.xml
+    PATHS
+    ${KDE4_INCLUDE_DIR}
+    /usr/
+    /usr/local/
+    /opt/local/
+    /usr/X11R6/
+    /opt/kde/
+    /opt/kde3/
+    /usr/kde/
+    /usr/local/kde/
+    /usr/openwin/lib/xscreensaver/
+    /etc/
+    PATH_SUFFIXES xscreensaver xscreensaver/config share/xscreensaver/config
+  )
+  MESSAGE(STATUS "XSCREENSAVER_CONFIG_DIR :<${XSCREENSAVER_CONFIG_DIR}>")
+
+endif(NOT XSCREENSAVER_FOUND)
+
+#MESSAGE(STATUS "XSCREENSAVER_CONFIG_DIR :<${XSCREENSAVER_CONFIG_DIR}>")
+#MESSAGE(STATUS "XSCREENSAVER_DIR :<${XSCREENSAVER_DIR}>")
+
+# Need to fix hack
+if(XSCREENSAVER_DIR AND XSCREENSAVER_CONFIG_DIR)
+    set(XSCREENSAVER_FOUND TRUE)
+endif(XSCREENSAVER_DIR AND XSCREENSAVER_CONFIG_DIR)
+
+if (XSCREENSAVER_FOUND)
+  if (NOT Xscreensaver_FIND_QUIETLY)
+    message(STATUS "Found XSCREENSAVER_CONFIG_DIR <${XSCREENSAVER_CONFIG_DIR}>")
+  endif (NOT Xscreensaver_FIND_QUIETLY)
+else (XSCREENSAVER_FOUND)
+  if (Xscreensaver_FIND_REQUIRED)
+    message(FATAL_ERROR "XScreenSaver not found")
+  endif (Xscreensaver_FIND_REQUIRED)
+endif (XSCREENSAVER_FOUND)
+
+
+MARK_AS_ADVANCED(XSCREENSAVER_DIR XSCREENSAVER_CONFIG_DIR)
diff --git a/pkgs/desktops/kde-4.11/kdeartwork/HighResolutionWallpapers.nix b/pkgs/desktops/kde-4.11/kdeartwork/HighResolutionWallpapers.nix
new file mode 100644
index 000000000000..edffca1562e1
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeartwork/HighResolutionWallpapers.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs }:
+
+kde rec {
+  name = "kde-wallpapers-high-resolution";
+
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE wallpapers in high resolution";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeartwork/IconThemes.nix b/pkgs/desktops/kde-4.11/kdeartwork/IconThemes.nix
new file mode 100644
index 000000000000..43071e8bd142
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeartwork/IconThemes.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs }:
+
+kde {
+  name = "kdeartwork-icon-themes";
+
+  # Sources contain primary and kdeclassic as well but they're not installed
+
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE nuvola and mono icon themes";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeartwork/WeatherWallpapers.nix b/pkgs/desktops/kde-4.11/kdeartwork/WeatherWallpapers.nix
new file mode 100644
index 000000000000..947e5e17ab0c
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeartwork/WeatherWallpapers.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs }:
+
+kde rec {
+  name = "kde-weather-wallpapers";
+
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Additional KDE wallpapers (weather)";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeartwork/desktopthemes.nix b/pkgs/desktops/kde-4.11/kdeartwork/desktopthemes.nix
new file mode 100644
index 000000000000..93dd361af738
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeartwork/desktopthemes.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs }:
+
+kde {
+  name = "kde-desktop-themes";
+
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Additional KDE desktop themes";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeartwork/emoticons.nix b/pkgs/desktops/kde-4.11/kdeartwork/emoticons.nix
new file mode 100644
index 000000000000..5ef9f78a7195
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeartwork/emoticons.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs }:
+
+kde {
+  name = "kde-emotion-icons";
+
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Additional KDE emotion icons (smiles)";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeartwork/kscreensaver.nix b/pkgs/desktops/kde-4.11/kdeartwork/kscreensaver.nix
new file mode 100644
index 000000000000..84cb008056e4
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeartwork/kscreensaver.nix
@@ -0,0 +1,15 @@
+{ kde, kdelibs, xscreensaver, kde_workspace, eigen, libkexiv2, libXt, pkgconfig }:
+
+kde {
+  buildInputs = [ kdelibs xscreensaver kde_workspace eigen libkexiv2 libXt ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  prePatch = "cp -v ${./FindXscreensaver.cmake} cmake/modules/FindXscreensaver.cmake";
+
+  cmakeFlags = [ "-DBUILD_asciiquarium:BOOL=ON" ];
+
+  meta = {
+    description = "KDE screensavers";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeartwork/kwin-styles.nix b/pkgs/desktops/kde-4.11/kdeartwork/kwin-styles.nix
new file mode 100644
index 000000000000..b5d769b216db
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeartwork/kwin-styles.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, kde_workspace }:
+
+kde {
+  buildInputs = [ kdelibs kde_workspace ];
+
+  meta = {
+    description = "Styles for KWin";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeartwork/sounds.nix b/pkgs/desktops/kde-4.11/kdeartwork/sounds.nix
new file mode 100644
index 000000000000..e98705da889e
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeartwork/sounds.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs }:
+
+kde rec {
+  name = "kde-sounds";
+
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "New login/logout sounds";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeartwork/styles.nix b/pkgs/desktops/kde-4.11/kdeartwork/styles.nix
new file mode 100644
index 000000000000..6a1306c37100
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeartwork/styles.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs }:
+
+kde rec {
+  name = "kde-style-phase";
+
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Phase, a widget style for KDE";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeartwork/wallpapers.nix b/pkgs/desktops/kde-4.11/kdeartwork/wallpapers.nix
new file mode 100644
index 000000000000..7c9846fbf9e8
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeartwork/wallpapers.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs }:
+
+kde rec {
+  name = "kdeartwork-wallpapers";
+
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Additional KDE wallpapers";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdebindings/perlqt.nix b/pkgs/desktops/kde-4.11/kdebindings/perlqt.nix
new file mode 100644
index 000000000000..48eed141ce64
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdebindings/perlqt.nix
@@ -0,0 +1,14 @@
+{ kde, cmake, smokeqt, perl }:
+
+kde {
+
+  # TODO: qscintilla2, qwt5
+
+  buildInputs = [ smokeqt perl ];
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = {
+    description = "Perl bindings for Qt library";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdebindings/pykde4.nix b/pkgs/desktops/kde-4.11/kdebindings/pykde4.nix
new file mode 100644
index 000000000000..64e196452e31
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdebindings/pykde4.nix
@@ -0,0 +1,32 @@
+{ kde, kdelibs, python, sip, pyqt4, kdepimlibs, shared_desktop_ontologies,
+  polkit_qt_1, boost, lndir, pkgconfig }:
+
+let pydir = "lib/python${python.majorVersion}"; in
+
+kde {
+
+  # todo: polkit isn't found by the build system
+
+  buildInputs = [
+    python kdepimlibs shared_desktop_ontologies
+    boost polkit_qt_1
+  ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  propagatedBuildInputs = [ pyqt4 sip ];
+
+  preConfigure =
+    ''
+      # Symlink PyQt into PyKDE.  This is necessary because PyQt looks
+      # in its PyQt4/uic/widget-plugins directory for plugins, and KDE
+      # needs to install a plugin.
+      mkdir -pv $out/${pydir}
+      ${lndir}/bin/lndir ${pyqt4}/${pydir} $out/${pydir}
+      cmakeFlagsArray=( "-DSIP_DEFAULT_SIP_DIR=$prefix/share/sip" )
+    '';
+
+  meta = {
+    description = "Python bindings for KDE";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdebindings/qtruby-install-prefix.patch b/pkgs/desktops/kde-4.11/kdebindings/qtruby-install-prefix.patch
new file mode 100644
index 000000000000..bd95a0d8bd3d
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdebindings/qtruby-install-prefix.patch
@@ -0,0 +1,15 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 33078b4..30aec0e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -31,8 +31,8 @@ if (NOT COMPILE_RUBY)
+     return()
+ endif (NOT COMPILE_RUBY)
+ 
+-SET(CUSTOM_RUBY_SITE_ARCH_DIR ${RUBY_SITEARCH_DIR} CACHE DIR "custom installation directory for ruby binary extension" )
+-SET(CUSTOM_RUBY_SITE_LIB_DIR ${RUBY_SITELIB_DIR} CACHE DIR "custom installation directory for ruby extension" )
++string(REPLACE "${RUBY_ROOT_DIR}" "${CMAKE_INSTALL_PREFIX}" CUSTOM_RUBY_SITE_ARCH_DIR ${RUBY_SITEARCH_DIR})
++string(REPLACE "${RUBY_ROOT_DIR}" "${CMAKE_INSTALL_PREFIX}" CUSTOM_RUBY_SITE_LIB_DIR ${RUBY_SITELIB_DIR})
+ 
+ # compute an overall version number which can be compared at once
+ MATH(EXPR RUBY_VERSION_NUMBER "${RUBY_VERSION_MAJOR}*10000 + ${RUBY_VERSION_MINOR}*100 + ${RUBY_VERSION_PATCH}")
diff --git a/pkgs/desktops/kde-4.11/kdebindings/qtruby.nix b/pkgs/desktops/kde-4.11/kdebindings/qtruby.nix
new file mode 100644
index 000000000000..03e9dc9a007f
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdebindings/qtruby.nix
@@ -0,0 +1,20 @@
+{ kde, cmake, smokeqt, ruby }:
+
+kde {
+
+ # TODO: scintilla2, qwt5
+
+  buildInputs = [ smokeqt ruby ];
+
+  nativeBuildInputs = [ cmake ];
+
+  # The patch is not ready for upstream submmission.
+  # I should add an option() instead.
+  patches = [ ./qtruby-install-prefix.patch ];
+
+  cmakeFlags="-DRUBY_ROOT_DIR=${ruby}";
+
+  meta = {
+    description = "Ruby bindings for Qt library";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdebindings/smokegen-CMakeLists.txt-nix.patch b/pkgs/desktops/kde-4.11/kdebindings/smokegen-CMakeLists.txt-nix.patch
new file mode 100644
index 000000000000..f0811d335a73
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdebindings/smokegen-CMakeLists.txt-nix.patch
@@ -0,0 +1,13 @@
+--- smokegen-4.10.5.orig/CMakeLists.txt 2013-06-28 17:14:50.000000000 +0000
++++ smokegen-4.10.5/CMakeLists.txt 2013-07-31 19:15:17.000000000 +0000
+@@ -36,6 +36,10 @@
+ set (CMAKE_SKIP_BUILD_RPATH FALSE)
+ set (CMAKE_SKIP_RPATH FALSE)
+
++# add the automatically determined parts of the RPATH
++# which point to directories outside the build tree to the install RPATH
++SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
++
+ configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config.h.in config.h @ONLY )
+
+ add_executable(smokegen ${generator_SRC})
\ No newline at end of file
diff --git a/pkgs/desktops/kde-4.11/kdebindings/smokegen-nix.patch b/pkgs/desktops/kde-4.11/kdebindings/smokegen-nix.patch
new file mode 100644
index 000000000000..53257e836e04
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdebindings/smokegen-nix.patch
@@ -0,0 +1,13 @@
+diff -urN smokegen-4.10.5.orig/cmake/SmokeConfig.cmake.in smokegen-4.10.5/cmake/SmokeConfig.cmake.in
+--- smokegen-4.10.5.orig/cmake/SmokeConfig.cmake.in	2013-06-28 17:14:50.000000000 +0000
++++ smokegen-4.10.5/cmake/SmokeConfig.cmake.in	2013-07-30 21:26:33.000000000 +0000
+@@ -80,8 +80,7 @@
+ set(SMOKE_API_BIN "@SMOKE_API_BIN@")
+ 
+ find_library(SMOKE_BASE_LIBRARY smokebase 
+-              PATHS "@SMOKE_LIBRARY_PREFIX@"
+-              NO_DEFAULT_PATH)
++              PATHS "@SMOKE_LIBRARY_PREFIX@")
+ 
+ if (NOT SMOKE_BASE_LIBRARY)
+     if (Smoke_FIND_REQUIRED)
diff --git a/pkgs/desktops/kde-4.11/kdebindings/smokegen.nix b/pkgs/desktops/kde-4.11/kdebindings/smokegen.nix
new file mode 100644
index 000000000000..a80574ff67ab
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdebindings/smokegen.nix
@@ -0,0 +1,13 @@
+{ kde, qt4, cmake }:
+
+kde {
+  buildInputs = [ qt4 ];
+  nativeBuildInputs = [ cmake ];
+
+  patches = [ ./smokegen-nix.patch ./smokegen-CMakeLists.txt-nix.patch ];
+
+  meta = {
+    description = "C++ parser used to generate language bindings for Qt/KDE";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdebindings/smokekde.nix b/pkgs/desktops/kde-4.11/kdebindings/smokekde.nix
new file mode 100644
index 000000000000..4474c1d9731e
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdebindings/smokekde.nix
@@ -0,0 +1,19 @@
+{ kde, cmake, smokeqt, kdelibs, akonadi, kdepimlibs, okular
+, shared_desktop_ontologies, attica, pkgconfig }:
+
+kde {
+
+  # TODO: attica, akonadi and kdepimlibs are disabled due to smokegen crash
+  # okular is disabled because the code generated is broken
+  buildInputs = [
+    smokeqt kdelibs shared_desktop_ontologies
+  ];
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  LD_LIBRARY_PATH = "${smokeqt}/lib/";
+
+  meta = {
+    description = "SMOKE bindings for kdelibs";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdebindings/smokeqt.nix b/pkgs/desktops/kde-4.11/kdebindings/smokeqt.nix
new file mode 100644
index 000000000000..72b267e43c5e
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdebindings/smokeqt.nix
@@ -0,0 +1,15 @@
+{ kde, qt4, cmake, phonon, qimageblitz, smokegen }:
+
+kde {
+
+# TODO: Qwt5, QScintilla2
+
+  propagatedBuildInputs = [ qt4 phonon qimageblitz ];
+  nativeBuildInputs = [ cmake ];
+  propagatedNativeBuildInputs = [ smokegen ];
+
+  meta = {
+    description = "C++ parser used to generate language bindings for Qt/KDE";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/analitza.nix b/pkgs/desktops/kde-4.11/kdeedu/analitza.nix
new file mode 100644
index 000000000000..74c3a1ebb200
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/analitza.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs, readline }:
+kde {
+  buildInputs = [ kdelibs readline ];
+
+  meta = {
+    description = "Library part of KAlgebra";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/blinken.nix b/pkgs/desktops/kde-4.11/kdeedu/blinken.nix
new file mode 100644
index 000000000000..cdf9728833c2
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/blinken.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs }:
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Memory Enhancement Game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/cantor.nix b/pkgs/desktops/kde-4.11/kdeedu/cantor.nix
new file mode 100644
index 000000000000..670a34290329
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/cantor.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, libspectre, analitza, R, pkgconfig, libqalculate }:
+kde {
+
+# TODO: R is not found
+
+  buildInputs = [ kdelibs libspectre analitza R libqalculate];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "KDE Frontend to Mathematical Software";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/kalgebra.nix b/pkgs/desktops/kde-4.11/kdeedu/kalgebra.nix
new file mode 100644
index 000000000000..3675c3a225f4
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/kalgebra.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs, libkdeedu, analitza }:
+kde {
+  buildInputs = [ kdelibs libkdeedu analitza ];
+
+  meta = {
+    description = "2D and 3D Graph Calculator";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/kalzium.nix b/pkgs/desktops/kde-4.11/kdeedu/kalzium.nix
new file mode 100644
index 000000000000..09de79ce1c05
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/kalzium.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, facile, ocaml, eigen, openbabel, avogadro, pkgconfig }:
+kde {
+
+# TODO: chemical mime data
+
+  buildInputs = [ kdelibs facile ocaml eigen openbabel avogadro ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "Periodic Table of Elements";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/kanagram.nix b/pkgs/desktops/kde-4.11/kdeedu/kanagram.nix
new file mode 100644
index 000000000000..8759c96d78c4
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/kanagram.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs, libkdeedu }:
+kde {
+  buildInputs = [ kdelibs libkdeedu ];
+
+  meta = {
+    description = "Letter Order Game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/kbruch.nix b/pkgs/desktops/kde-4.11/kdeedu/kbruch.nix
new file mode 100644
index 000000000000..dc50f1e85a37
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/kbruch.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs }:
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Practice Fractions";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/kgeography.nix b/pkgs/desktops/kde-4.11/kdeedu/kgeography.nix
new file mode 100644
index 000000000000..bd8d27c8d6e2
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/kgeography.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs }:
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Geography Trainer";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/khangman.nix b/pkgs/desktops/kde-4.11/kdeedu/khangman.nix
new file mode 100644
index 000000000000..997b50e906a2
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/khangman.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs, libkdeedu }:
+kde {
+  buildInputs = [ kdelibs libkdeedu ];
+
+  meta = {
+    description = "KDE hangman game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/kig.nix b/pkgs/desktops/kde-4.11/kdeedu/kig.nix
new file mode 100644
index 000000000000..bd5ef67529cc
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/kig.nix
@@ -0,0 +1,12 @@
+{ kde, kdelibs, boost, python}:
+kde {
+  buildInputs = [ kdelibs boost python ];
+
+  cmakeFlags = ''
+    -DBOOST_PYTHON_INCLUDES:PATH=${boost}/include;${python}/include/${python.libPrefix}
+    -DBOOST_PYTHON_LIBS=boost_python;${python.libPrefix} -DKIG_ENABLE_PYTHON_SCRIPTING=1
+    '';
+  meta = {
+    description = "KDE Interactive Geometry";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/kiten.nix b/pkgs/desktops/kde-4.11/kdeedu/kiten.nix
new file mode 100644
index 000000000000..939b7a9f77a2
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/kiten.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Japanese Reference/Study Tool";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/klettres.nix b/pkgs/desktops/kde-4.11/kdeedu/klettres.nix
new file mode 100644
index 000000000000..7a0fa83078e3
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/klettres.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A KDE alphabet tutorial";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/kmplot.nix b/pkgs/desktops/kde-4.11/kdeedu/kmplot.nix
new file mode 100644
index 000000000000..18458cf6f0bf
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/kmplot.nix
@@ -0,0 +1,12 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A KDE mathematical function plotter";
+    kde = {
+      name = "kmplot";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/kstars.nix b/pkgs/desktops/kde-4.11/kdeedu/kstars.nix
new file mode 100644
index 000000000000..4ae36c480f95
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/kstars.nix
@@ -0,0 +1,14 @@
+{ kde, kdelibs, eigen, xplanet, indilib, pkgconfig }:
+
+kde {
+
+# TODO: wcslib
+
+  buildInputs = [ kdelibs eigen xplanet indilib ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "A KDE graphical desktop planetarium";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/ktouch.nix b/pkgs/desktops/kde-4.11/kdeedu/ktouch.nix
new file mode 100644
index 000000000000..9e606adde336
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/ktouch.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, libxkbfile }:
+
+kde {
+  buildInputs = [ kdelibs libxkbfile ];
+
+  meta = {
+    description = "Touch Typing Tutor";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/kturtle.nix b/pkgs/desktops/kde-4.11/kdeedu/kturtle.nix
new file mode 100644
index 000000000000..1e1922b1410d
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/kturtle.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Educational Programming Environment";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/kwordquiz.nix b/pkgs/desktops/kde-4.11/kdeedu/kwordquiz.nix
new file mode 100644
index 000000000000..1b33ba2e469f
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/kwordquiz.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, libkdeedu }:
+
+kde {
+  buildInputs = [ kdelibs libkdeedu ];
+
+  meta = {
+    description = "Flash Card Trainer";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/libkdeedu.nix b/pkgs/desktops/kde-4.11/kdeedu/libkdeedu.nix
new file mode 100644
index 000000000000..def6c85fefe2
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/libkdeedu.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs }:
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Libraries used by KDE Education applications";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/marble.nix b/pkgs/desktops/kde-4.11/kdeedu/marble.nix
new file mode 100644
index 000000000000..2dc07d14a0d9
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/marble.nix
@@ -0,0 +1,12 @@
+{ kde, kdelibs, gpsd }:
+
+kde {
+
+# TODO: package QextSerialPort, libshp(shapelib), QtMobility, QtLocation, libwlocate, quazip
+
+  buildInputs = [ kdelibs gpsd ];
+
+  meta = {
+    description = "Marble Virtual Globe";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/pairs.nix b/pkgs/desktops/kde-4.11/kdeedu/pairs.nix
new file mode 100644
index 000000000000..36c4aba9604b
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/pairs.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A memory and pairs game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/parley.nix b/pkgs/desktops/kde-4.11/kdeedu/parley.nix
new file mode 100644
index 000000000000..f9f86dde150d
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/parley.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, libkdeedu, attica }:
+
+kde {
+  buildInputs = [ kdelibs libkdeedu attica ];
+
+  meta = {
+    description = "Vocabulary Trainer";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/rocs.nix b/pkgs/desktops/kde-4.11/kdeedu/rocs.nix
new file mode 100644
index 000000000000..ce30d11fda31
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/rocs.nix
@@ -0,0 +1,14 @@
+{ kde, kdelibs, boost, grantlee }:
+
+kde {
+  buildInputs = [ kdelibs (boost.override { enableExceptions = true; }) grantlee ];
+
+  NIX_CFLAGS_COMPILE = "-fexceptions";
+
+  meta = {
+    description = "A KDE graph theory viewer";
+    kde = {
+      name = "rocs";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeedu/step.nix b/pkgs/desktops/kde-4.11/kdeedu/step.nix
new file mode 100644
index 000000000000..997cfb42c9e3
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeedu/step.nix
@@ -0,0 +1,15 @@
+{ kde, kdelibs, gsl, libqalculate, eigen, pkgconfig }:
+
+kde {
+
+  buildInputs = [ kdelibs gsl libqalculate eigen ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "A KDE interactive physical simulator";
+    kde = {
+      name = "step";
+    };
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/bomber.nix b/pkgs/desktops/kde-4.11/kdegames/bomber.nix
new file mode 100644
index 000000000000..026227910f21
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/bomber.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a single player arcade game. The player is invading various cities in a plane that is decreasing in height";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/bovo.nix b/pkgs/desktops/kde-4.11/kdegames/bovo.nix
new file mode 100644
index 000000000000..b0e7d99c589f
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/bovo.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a Gomoku (from Japanese 五目並べ - lit. \"five points\") like game for two players, where the opponents alternate in placing their respective pictogram on the game board";
+  };
+
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/granatier.nix b/pkgs/desktops/kde-4.11/kdegames/granatier.nix
new file mode 100644
index 000000000000..9f1ab0053099
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/granatier.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a clone of the classic Bomberman game, inspired by the work of the Clanbomber clone";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kajongg.nix b/pkgs/desktops/kde-4.11/kdegames/kajongg.nix
new file mode 100644
index 000000000000..9a6f5e836955
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kajongg.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, libkdegames, pythonPackages, sqlite,  pykde4 }:
+kde rec {
+
+  buildInputs = [ kdelibs libkdegames pythonPackages.python pythonPackages.wrapPython sqlite ] ++ pythonPath;
+
+  pythonPath = [ pythonPackages.twisted pykde4 ];
+
+  postInstall = "wrapPythonPrograms";
+
+  meta = {
+    description = "an ancient Chinese board game for 4 players";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kapman.nix b/pkgs/desktops/kde-4.11/kdegames/kapman.nix
new file mode 100644
index 000000000000..f10e099da3cc
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kapman.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a clone of the well known game Pac-Man";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/katomic.nix b/pkgs/desktops/kde-4.11/kdegames/katomic.nix
new file mode 100644
index 000000000000..a9936c04f0ea
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/katomic.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a fun and educational puzzle game built around molecular geometry";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kblackbox.nix b/pkgs/desktops/kde-4.11/kdegames/kblackbox.nix
new file mode 100644
index 000000000000..27eeff2f65bb
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kblackbox.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a game of hide and seek played on an grid of boxes, where the player shoots rays into the grid to deduce the positions of hidden objects";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kblocks.nix b/pkgs/desktops/kde-4.11/kdegames/kblocks.nix
new file mode 100644
index 000000000000..98cf068de09a
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kblocks.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a classic single player falling blocks puzzle game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kbounce.nix b/pkgs/desktops/kde-4.11/kdegames/kbounce.nix
new file mode 100644
index 000000000000..77fa0db63529
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kbounce.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a single player arcade game with the elements of puzzle";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kbreakout.nix b/pkgs/desktops/kde-4.11/kdegames/kbreakout.nix
new file mode 100644
index 000000000000..3a484d919bbb
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kbreakout.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a Breakout-like game. Its object is to destroy as many bricks as possible without losing the ball";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kdiamond.nix b/pkgs/desktops/kde-4.11/kdegames/kdiamond.nix
new file mode 100644
index 000000000000..06dfcee5ac39
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kdiamond.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a single player puzzle game. The object of the game is to build lines of three similar diamonds";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kfourinline.nix b/pkgs/desktops/kde-4.11/kdegames/kfourinline.nix
new file mode 100644
index 000000000000..11b8838e7082
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kfourinline.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a board game for two players based on the Connect-Four game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kgoldrunner.nix b/pkgs/desktops/kde-4.11/kdegames/kgoldrunner.nix
new file mode 100644
index 000000000000..6217c47a8065
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kgoldrunner.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "an action game where the hero runs through a maze, climbs stairs, dig holes and dodges enemies in order to collect all the gold nuggets and escape to the next level";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kigo.nix b/pkgs/desktops/kde-4.11/kdegames/kigo.nix
new file mode 100644
index 000000000000..32eee67cc1e0
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kigo.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "an open-source implementation of the popular Go game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/killbots.nix b/pkgs/desktops/kde-4.11/kdegames/killbots.nix
new file mode 100644
index 000000000000..d9c1472495e7
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/killbots.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a simple game of evading killer robots";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kiriki.nix b/pkgs/desktops/kde-4.11/kdegames/kiriki.nix
new file mode 100644
index 000000000000..72f7ab67501b
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kiriki.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "an addictive and fun dice game, designed to be played by as many as six players";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kjumpingcube.nix b/pkgs/desktops/kde-4.11/kdegames/kjumpingcube.nix
new file mode 100644
index 000000000000..a6d22cff51c3
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kjumpingcube.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a simple dice driven tactical game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/klickety.nix b/pkgs/desktops/kde-4.11/kdegames/klickety.nix
new file mode 100644
index 000000000000..b592bc40641f
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/klickety.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a puzzle game where the player removes groups of colored marbles to clear the board";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/klines.nix b/pkgs/desktops/kde-4.11/kdegames/klines.nix
new file mode 100644
index 000000000000..90952fe91c07
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/klines.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a simple but highly addictive one player game. The player has to move the colored balls around the game board, gathering them into the lines of the same color by five";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kmahjongg.nix b/pkgs/desktops/kde-4.11/kdegames/kmahjongg.nix
new file mode 100644
index 000000000000..946b531ff127
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kmahjongg.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames, libkmahjongg }:
+kde {
+  buildInputs = [ kdelibs libkdegames libkmahjongg ];
+  meta = {
+    description = "the tiles are scrambled and staked on top of each other to resemble a certain shape. The player is then expected to remove all the tiles off the game board by locating each tile's matching pair";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kmines.nix b/pkgs/desktops/kde-4.11/kdegames/kmines.nix
new file mode 100644
index 000000000000..538454e95984
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kmines.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a classic Minesweeper game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/knavalbattle.nix b/pkgs/desktops/kde-4.11/kdegames/knavalbattle.nix
new file mode 100644
index 000000000000..42ffd2fcb4d5
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/knavalbattle.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a Battle Ship game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/knetwalk.nix b/pkgs/desktops/kde-4.11/kdegames/knetwalk.nix
new file mode 100644
index 000000000000..a16e578ce848
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/knetwalk.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a small game where you have to build up a computer network by rotating the wires to connect the terminals to the server";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kolf.nix b/pkgs/desktops/kde-4.11/kdegames/kolf.nix
new file mode 100644
index 000000000000..78815ee57996
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kolf.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a miniature golf game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kollision.nix b/pkgs/desktops/kde-4.11/kdegames/kollision.nix
new file mode 100644
index 000000000000..3147c7305ea0
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kollision.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a simple ball dodging game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/konquest.nix b/pkgs/desktops/kde-4.11/kdegames/konquest.nix
new file mode 100644
index 000000000000..53ddd64928cc
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/konquest.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "the KDE version of Gnu-Lactic Konquest";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kpat.nix b/pkgs/desktops/kde-4.11/kdegames/kpat.nix
new file mode 100644
index 000000000000..f8d9bad36dc5
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kpat.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a relaxing card sorting game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kreversi.nix b/pkgs/desktops/kde-4.11/kdegames/kreversi.nix
new file mode 100644
index 000000000000..2aed981428e1
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kreversi.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a simple one player strategy game played against the computer. If a player's piece is captured by an opposing player, that piece is turned over to reveal the color of that player";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kshisen.nix b/pkgs/desktops/kde-4.11/kdegames/kshisen.nix
new file mode 100644
index 000000000000..9c8880340388
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kshisen.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames, libkmahjongg }:
+kde {
+  buildInputs = [ kdelibs libkdegames libkmahjongg ];
+  meta = {
+    description = "a solitaire-like game played using the standard set of Mahjong tiles";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/ksirk.nix b/pkgs/desktops/kde-4.11/kdegames/ksirk.nix
new file mode 100644
index 000000000000..767eb67971a8
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/ksirk.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames, qca2 }:
+kde {
+  buildInputs = [ kdelibs libkdegames qca2 ];
+  meta = {
+    description = "a computerized version of the well known strategic board game Risk";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/ksnakeduel.nix b/pkgs/desktops/kde-4.11/kdegames/ksnakeduel.nix
new file mode 100644
index 000000000000..ccf1fb551e9a
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/ksnakeduel.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a simple Tron-Clone";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kspaceduel.nix b/pkgs/desktops/kde-4.11/kdegames/kspaceduel.nix
new file mode 100644
index 000000000000..5285f7916cad
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kspaceduel.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "each of two possible players control a satellite spaceship orbiting the sun. As the game progresses players have to eliminate the opponent's spacecraft with bullets or mines";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/ksquares.nix b/pkgs/desktops/kde-4.11/kdegames/ksquares.nix
new file mode 100644
index 000000000000..a17be2da6325
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/ksquares.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a game modeled after the well known pen and paper based game of Dots and Boxes";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/ksudoku.nix b/pkgs/desktops/kde-4.11/kdegames/ksudoku.nix
new file mode 100644
index 000000000000..ea4e13a5e4f3
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/ksudoku.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a logic-based symbol placement puzzle";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/ktuberling.nix b/pkgs/desktops/kde-4.11/kdegames/ktuberling.nix
new file mode 100644
index 000000000000..1a6ba9d653c2
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/ktuberling.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a simple constructor game suitable for children and adults alike";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/kubrick.nix b/pkgs/desktops/kde-4.11/kdegames/kubrick.nix
new file mode 100644
index 000000000000..9bdc6879db4b
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/kubrick.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a game based on the Rubik's Cube™ puzzle";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/libkdegames.nix b/pkgs/desktops/kde-4.11/kdegames/libkdegames.nix
new file mode 100644
index 000000000000..3819dcdc9ae2
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/libkdegames.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, openal, libsndfile }:
+kde {
+  buildInputs = [ kdelibs openal libsndfile ];
+  meta = {
+    description = "KDE games library";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/libkmahjongg.nix b/pkgs/desktops/kde-4.11/kdegames/libkmahjongg.nix
new file mode 100644
index 000000000000..383b347dc330
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/libkmahjongg.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a library for KMahjongg game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/lskat.nix b/pkgs/desktops/kde-4.11/kdegames/lskat.nix
new file mode 100644
index 000000000000..2a5050cd6676
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/lskat.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a fun and engaging card game for two players, where the second player is either live opponent, or a built in artificial intelligence";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/palapeli.nix b/pkgs/desktops/kde-4.11/kdegames/palapeli.nix
new file mode 100644
index 000000000000..010dbd5d6232
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/palapeli.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+
+# TODO: package qvoronoi
+
+  buildInputs = [ kdelibs libkdegames ];
+
+  meta = {
+    description = "a single-player jigsaw puzzle game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegames/picmi.nix b/pkgs/desktops/kde-4.11/kdegames/picmi.nix
new file mode 100644
index 000000000000..165d7422f95b
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegames/picmi.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkdegames }:
+kde {
+  buildInputs = [ kdelibs libkdegames ];
+  meta = {
+    description = "a single player logic-based puzzle game";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/gwenview.nix b/pkgs/desktops/kde-4.11/kdegraphics/gwenview.nix
new file mode 100644
index 000000000000..b6fd701ac129
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegraphics/gwenview.nix
@@ -0,0 +1,15 @@
+{ kde, kdelibs, exiv2, kde_baseapps, libkipi, nepomuk_core
+, libjpeg, pkgconfig, kactivities, lcms2 }:
+
+kde {
+
+  buildInputs =
+    [ kdelibs exiv2 nepomuk_core kactivities kde_baseapps libkipi libjpeg lcms2 ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "Gwenview, the KDE image viewer";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/kamera.nix b/pkgs/desktops/kde-4.11/kdegraphics/kamera.nix
new file mode 100644
index 000000000000..70904b17c232
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegraphics/kamera.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs, libgphoto2 }:
+
+kde {
+  buildInputs = [ kdelibs libgphoto2 ];
+
+  meta = {
+    description = "KDE camera interface library";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/kcolorchooser.nix b/pkgs/desktops/kde-4.11/kdegraphics/kcolorchooser.nix
new file mode 100644
index 000000000000..58528cb186bb
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegraphics/kcolorchooser.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A small utility to select a color";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-mobipocket.nix b/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-mobipocket.nix
new file mode 100644
index 000000000000..2c2ba3796a2c
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-mobipocket.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs, okular }:
+
+kde {
+  buildInputs = [ kdelibs okular ];
+
+  meta = {
+    description = "A collection of plugins to handle mobipocket files";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-strigi-analyzer.nix b/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-strigi-analyzer.nix
new file mode 100644
index 000000000000..35af39aa611d
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-strigi-analyzer.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs, libtiff }:
+
+kde {
+  buildInputs = [ kdelibs libtiff ];
+
+  meta = {
+    description = "Strigi analyzers for various graphics file formats";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-thumbnailers.nix b/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-thumbnailers.nix
new file mode 100644
index 000000000000..18c6534eb5c9
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegraphics/kdegraphics-thumbnailers.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, libkexiv2, libkdcraw, pkgconfig }:
+
+kde {
+
+  buildInputs = [ kdelibs libkexiv2 libkdcraw ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "Thumbnailers for various graphics file formats";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/kgamma.nix b/pkgs/desktops/kde-4.11/kdegraphics/kgamma.nix
new file mode 100644
index 000000000000..28d9252187e0
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegraphics/kgamma.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs, libXxf86vm }:
+
+kde {
+  buildInputs = [ kdelibs libXxf86vm ];
+
+  meta = {
+    description = "KDE monitor calibration tool";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/kolourpaint.nix b/pkgs/desktops/kde-4.11/kdegraphics/kolourpaint.nix
new file mode 100644
index 000000000000..5276ec09f462
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegraphics/kolourpaint.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs, qimageblitz }:
+
+kde {
+  buildInputs = [ kdelibs qimageblitz ];
+
+  meta = {
+    description = "KDE paint program";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/kruler.nix b/pkgs/desktops/kde-4.11/kdegraphics/kruler.nix
new file mode 100644
index 000000000000..c5c2c6e05d7c
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegraphics/kruler.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE screen ruler";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/ksaneplugin.nix b/pkgs/desktops/kde-4.11/kdegraphics/ksaneplugin.nix
new file mode 100644
index 000000000000..1381ed7dd266
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegraphics/ksaneplugin.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs, libksane }:
+
+kde {
+  buildInputs = [ kdelibs libksane ];
+
+  meta = {
+    description = "A KScan plugin that implements the scanning through libksane";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/ksnapshot.nix b/pkgs/desktops/kde-4.11/kdegraphics/ksnapshot.nix
new file mode 100644
index 000000000000..f01a609e20de
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegraphics/ksnapshot.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs, libkipi }:
+
+kde {
+  buildInputs = [ kdelibs libkipi ];
+
+  meta = {
+    description = "KDE screenshot utility";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/libkdcraw.nix b/pkgs/desktops/kde-4.11/kdegraphics/libkdcraw.nix
new file mode 100644
index 000000000000..b4d5e5922ca6
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegraphics/libkdcraw.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, libjpeg_original, lcms1, jasper, pkgconfig }:
+
+kde {
+
+  buildInputs = [ kdelibs libjpeg_original lcms1 jasper ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "Library for decoding RAW images";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/libkexiv2.nix b/pkgs/desktops/kde-4.11/kdegraphics/libkexiv2.nix
new file mode 100644
index 000000000000..096b0a6e957b
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegraphics/libkexiv2.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs, exiv2 }:
+
+kde {
+  buildInputs = [ kdelibs exiv2 ];
+
+  meta = {
+    description = "Exiv2 support library";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/libkipi.nix b/pkgs/desktops/kde-4.11/kdegraphics/libkipi.nix
new file mode 100644
index 000000000000..6b16265e7a3e
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegraphics/libkipi.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Interface library to kipi-plugins";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/libksane.nix b/pkgs/desktops/kde-4.11/kdegraphics/libksane.nix
new file mode 100644
index 000000000000..b539eab38992
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegraphics/libksane.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs, saneBackends }:
+
+kde {
+  buildInputs = [ kdelibs saneBackends ];
+
+  meta = {
+    description = "An image scanning library that provides a QWidget that contains all the logic needed to interface a sacanner";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/okular.nix b/pkgs/desktops/kde-4.11/kdegraphics/okular.nix
new file mode 100644
index 000000000000..17b8a33ed43c
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegraphics/okular.nix
@@ -0,0 +1,17 @@
+{ chmlib, djvulibre, ebook_tools, kde, kdelibs, libspectre, popplerQt4, qca2
+, qimageblitz, libtiff, kactivities, pkgconfig }:
+
+kde {
+
+# TODO: package activeapp
+
+  buildInputs =
+    [ kdelibs chmlib djvulibre ebook_tools libspectre popplerQt4 qca2 qimageblitz libtiff kactivities ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "Okular, the KDE document viewer";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdegraphics/svgpart.nix b/pkgs/desktops/kde-4.11/kdegraphics/svgpart.nix
new file mode 100644
index 000000000000..a344cc4b4b46
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdegraphics/svgpart.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "SVG KPart";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdelibs/kdelibs.nix b/pkgs/desktops/kde-4.11/kdelibs/kdelibs.nix
new file mode 100644
index 000000000000..0bf18e8efb0c
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdelibs/kdelibs.nix
@@ -0,0 +1,46 @@
+{ kde, gcc, cmake, perl
+, qt4, bzip2, fam, shared_mime_info, giflib, jasper, strigi
+, openexr, avahi, kerberos, shared_desktop_ontologies, libXScrnSaver
+, automoc4, soprano, qca2, attica, enchant, libdbusmenu_qt, grantlee
+, docbook_xml_dtd_42, docbook_xsl, polkit_qt_1, acl
+, udev, herqq, phonon, libjpeg, xz, ilmbase, libxslt
+, pkgconfig
+}:
+
+kde {
+
+# TODO: media-player-info, ACL
+
+  buildInputs =
+    [ pkgconfig attica avahi bzip2 enchant fam giflib grantlee herqq
+      libdbusmenu_qt libXScrnSaver polkit_qt_1 qca2 acl jasper libxslt 
+      shared_desktop_ontologies xz udev libjpeg kerberos openexr
+    ];
+
+  NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
+
+  propagatedBuildInputs = [ qt4 soprano phonon strigi ];
+
+  propagatedNativeBuildInputs = [ automoc4 cmake perl shared_mime_info ];
+
+  # TODO: make sonnet plugins (dictionaries) really work.
+  # There are a few hardcoded paths.
+  # Split plugins from libs?
+
+  patches = [ ../files/polkit-install.patch ];
+
+  # cmake fails to find acl.h because of C++-style comment
+
+  cmakeFlags = [
+    "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook"
+    "-DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook"
+    "-DHUPNP_ENABLED=ON"
+  ];
+
+  passthru.wantsUdisks2 = false;
+
+  meta = {
+    description = "KDE libraries";
+    license = "LGPL";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdelibs/nepomuk-core.nix b/pkgs/desktops/kde-4.11/kdelibs/nepomuk-core.nix
new file mode 100644
index 000000000000..0bd0bf378dd9
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdelibs/nepomuk-core.nix
@@ -0,0 +1,20 @@
+{ kde, kdelibs, soprano, shared_desktop_ontologies, exiv2, ffmpeg, taglib, popplerQt4
+, pkgconfig, doxygen, ebook_tools
+}:
+
+kde {
+
+# TODO: epub
+
+  buildInputs = [
+    kdelibs soprano shared_desktop_ontologies taglib exiv2 ffmpeg
+    popplerQt4 ebook_tools
+  ];
+
+  nativeBuildInputs = [ pkgconfig doxygen ];
+
+  meta = {
+    description = "NEPOMUK core";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdelibs/nepomuk-widgets.nix b/pkgs/desktops/kde-4.11/kdelibs/nepomuk-widgets.nix
new file mode 100644
index 000000000000..0d29a4f97de5
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdelibs/nepomuk-widgets.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs, nepomuk_core }:
+
+kde {
+
+  buildInputs = [ kdelibs nepomuk_core ];
+
+  meta = {
+    description = "NEPOMUK Widgets";
+    license = "GPLv2";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/audiocd-kio.nix b/pkgs/desktops/kde-4.11/kdemultimedia/audiocd-kio.nix
new file mode 100644
index 000000000000..4c56e7529dd7
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdemultimedia/audiocd-kio.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libkcompactdisc, cdparanoia, libkcddb, libvorbis, flac, lame }:
+kde {
+  buildInputs = [ kdelibs libkcompactdisc cdparanoia libkcddb libvorbis flac lame ];
+  meta = {
+    description = "transparent audio CD access for applications using the KDE Platform";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/dragon.nix b/pkgs/desktops/kde-4.11/kdemultimedia/dragon.nix
new file mode 100644
index 000000000000..006300742ecd
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdemultimedia/dragon.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs }:
+kde {
+  buildInputs = [ kdelibs ];
+  meta = {
+    description = "a multimedia player with the focus on simplicity";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/ffmpegthumbs.nix b/pkgs/desktops/kde-4.11/kdemultimedia/ffmpegthumbs.nix
new file mode 100644
index 000000000000..45f6c9abcb66
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdemultimedia/ffmpegthumbs.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, ffmpeg }:
+kde {
+  buildInputs = [ kdelibs ffmpeg ];
+  meta = {
+    description = "a video thumbnail generator for KDE file managers like Dolphin and Konqueror";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/juk.nix b/pkgs/desktops/kde-4.11/kdemultimedia/juk.nix
new file mode 100644
index 000000000000..5d7b1db224ea
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdemultimedia/juk.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs, taglib, libtunepimp }:
+kde {
+
+# TODO: opusfile
+
+  buildInputs = [ kdelibs taglib libtunepimp ];
+  meta = {
+    description = "an audio jukebox application";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/kmix.nix b/pkgs/desktops/kde-4.11/kdemultimedia/kmix.nix
new file mode 100644
index 000000000000..1dd8108166f2
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdemultimedia/kmix.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libcanberra, pulseaudio }:
+kde {
+  buildInputs = [ kdelibs libcanberra pulseaudio ];
+  meta = {
+    description = "sound mixer, an application to allow you to change the volume of your sound card";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/kscd.nix b/pkgs/desktops/kde-4.11/kdemultimedia/kscd.nix
new file mode 100644
index 000000000000..e99ae53935b9
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdemultimedia/kscd.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs, libmusicbrainz }:
+kde {
+  buildInputs = [ kdelibs libmusicbrainz ];
+  meta = {
+    description = "KDE CD player";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/libkcddb.nix b/pkgs/desktops/kde-4.11/kdemultimedia/libkcddb.nix
new file mode 100644
index 000000000000..720b01d1861e
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdemultimedia/libkcddb.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs }:
+kde {
+#todo: libmusicbrainz5
+  buildInputs = [ kdelibs ];
+  meta = {
+    description = "a library used to retrieve audio CD meta data from the internet";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/libkcompactdisc.nix b/pkgs/desktops/kde-4.11/kdemultimedia/libkcompactdisc.nix
new file mode 100644
index 000000000000..6ed08af89f33
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdemultimedia/libkcompactdisc.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs }:
+kde {
+  buildInputs = [ kdelibs ];
+  meta = {
+    description = "KDE library for playing & ripping CDs";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdemultimedia/mplayerthumbs.nix b/pkgs/desktops/kde-4.11/kdemultimedia/mplayerthumbs.nix
new file mode 100644
index 000000000000..c88ebcc2a5a3
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdemultimedia/mplayerthumbs.nix
@@ -0,0 +1,7 @@
+{ kde, kdelibs }:
+kde {
+  buildInputs = [ kdelibs ];
+  meta = {
+    description = "a video thumbnail generator for KDE";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdenetwork/kdenetwork-filesharing.nix b/pkgs/desktops/kde-4.11/kdenetwork/kdenetwork-filesharing.nix
new file mode 100644
index 000000000000..0330511a258b
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdenetwork/kdenetwork-filesharing.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE properties dialog plugin to share a directory with the local network";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdenetwork/kdenetwork-strigi-analyzers.nix b/pkgs/desktops/kde-4.11/kdenetwork/kdenetwork-strigi-analyzers.nix
new file mode 100644
index 000000000000..e838d84fc5eb
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdenetwork/kdenetwork-strigi-analyzers.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, boost }:
+
+kde {
+  buildInputs = [ kdelibs boost ];
+
+  meta = {
+    description = "Strigi analyzers for various network protocols";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdenetwork/kdnssd.nix b/pkgs/desktops/kde-4.11/kdenetwork/kdnssd.nix
new file mode 100644
index 000000000000..f65960cc337b
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdenetwork/kdnssd.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE tool that monitors the network for DNS-SD services";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdenetwork/kget.nix b/pkgs/desktops/kde-4.11/kdenetwork/kget.nix
new file mode 100644
index 000000000000..f986da2de214
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdenetwork/kget.nix
@@ -0,0 +1,20 @@
+{ kde, kdelibs, libktorrent, kde_workspace, sqlite, boost
+, kde_baseapps, libmms, qca2, nepomuk_core, nepomuk_widgets
+, pkgconfig }:
+
+kde {
+
+# TODO: QGpgME
+
+  buildInputs =
+    [ kdelibs libktorrent nepomuk_core nepomuk_widgets sqlite qca2
+      libmms kde_baseapps kde_workspace boost ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  KDEDIRS = libktorrent;
+
+  meta = {
+    description = "KDE download manager";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdenetwork/kopete.nix b/pkgs/desktops/kde-4.11/kdenetwork/kopete.nix
new file mode 100644
index 000000000000..961d646474e7
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdenetwork/kopete.nix
@@ -0,0 +1,27 @@
+{ kde, kdelibs, speex, libmsn, libotr, kdepimlibs, qimageblitz, libktorrent,
+  jasper, libidn, mediastreamer, msilbc, pkgconfig, libxslt, giflib,
+  libgadu, boost, qca2, gpgme, sqlite, telepathy_qt, shared_desktop_ontologies,
+  libjpeg, libmms, ortp, srtp, libv4l}:
+
+kde {
+
+# TODO: libmeanwhile, xmms, jsoncpp
+# commented out deps seem to not be needed anymore, but why so many?
+
+  buildInputs = [
+    kdelibs qca2 mediastreamer libgadu # telepathy_qt shared_desktop_ontologies  gpgme 
+    kdepimlibs qimageblitz sqlite jasper libotr libmsn giflib # libktorrent libjpeg 
+    libidn libxslt boost # speex  libmms msilbc
+    ortp srtp libv4l
+  ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  KDEDIRS = libktorrent;
+
+  cmakeFlags = [ "-DBUILD_skypebuttons=TRUE" ];
+
+  meta = {
+    description = "A KDE multi-protocol IM client";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdenetwork/kppp.nix b/pkgs/desktops/kde-4.11/kdenetwork/kppp.nix
new file mode 100644
index 000000000000..4c6bd65769f7
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdenetwork/kppp.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "PPP(Dial-Up) client tool";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdenetwork/krdc.nix b/pkgs/desktops/kde-4.11/kdenetwork/krdc.nix
new file mode 100644
index 000000000000..80557e827fe0
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdenetwork/krdc.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, libvncserver, freerdp, telepathy_qt }:
+
+kde {
+  buildInputs = [ kdelibs libvncserver freerdp telepathy_qt ];
+
+  meta = {
+    description = "KDE remote desktop client";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdenetwork/krfb.nix b/pkgs/desktops/kde-4.11/kdenetwork/krfb.nix
new file mode 100644
index 000000000000..cb4857965a34
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdenetwork/krfb.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, libvncserver, libXdamage, libXtst, libjpeg, telepathy_qt }:
+
+kde {
+  buildInputs = [ kdelibs libvncserver libXdamage libXtst libjpeg telepathy_qt ];
+
+  meta = {
+    description = "KDE desktop sharing";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdepim-runtime.nix b/pkgs/desktops/kde-4.11/kdepim-runtime.nix
new file mode 100644
index 000000000000..43006fe51150
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdepim-runtime.nix
@@ -0,0 +1,16 @@
+{ kde, libxslt, boost, kdepimlibs, akonadi, shared_desktop_ontologies }:
+
+kde {
+
+# TODO: libkgapi, LibKFbAPI,libkolab, libkolabxml
+
+  buildInputs = [
+    kdepimlibs akonadi boost shared_desktop_ontologies
+    libxslt
+  ];
+
+  meta = {
+    description = "KDE PIM runtime";
+    license = "GPL";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdepim.nix b/pkgs/desktops/kde-4.11/kdepim.nix
new file mode 100644
index 000000000000..f5e28a044bba
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdepim.nix
@@ -0,0 +1,28 @@
+{ kde, boost, gpgme, libassuan, libxslt, kdepimlibs, kdepim_runtime
+, akonadi, shared_desktop_ontologies, cyrus_sasl, grantlee, prison
+, nepomuk_widgets, kactivities, libXScrnSaver
+, pkgconfig }:
+
+kde {
+
+# TODO: LinkGrammar
+
+  buildInputs =
+    [ kdepimlibs boost shared_desktop_ontologies akonadi nepomuk_widgets
+      libxslt cyrus_sasl gpgme libassuan grantlee prison kactivities
+      libXScrnSaver
+    ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  passthru.propagatedUserEnvPackages = [ akonadi kdepimlibs kdepim_runtime ];
+
+  meta = {
+    description = "KDE PIM tools";
+    longDescription = ''
+      Contains various personal information management tools for KDE, such as an organizer.
+    '';
+    license = "GPL";
+    homepage = http://pim.kde.org;
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdepimlibs.nix b/pkgs/desktops/kde-4.11/kdepimlibs.nix
new file mode 100644
index 000000000000..ca0af9400b11
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdepimlibs.nix
@@ -0,0 +1,19 @@
+{ kde, pkgconfig, boost, cyrus_sasl, gpgme, libical, openldap, prison
+, kdelibs, akonadi, libxslt, nepomuk_core
+, shared_desktop_ontologies, qjson }:
+
+kde {
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs =
+    [ boost gpgme libical libxslt qjson prison
+      openldap cyrus_sasl akonadi shared_desktop_ontologies
+    ];
+
+  propagatedBuildInputs = [ kdelibs nepomuk_core ];
+
+  meta = {
+    description = "KDE PIM libraries";
+    license = "LGPL";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeplasma-addons.nix b/pkgs/desktops/kde-4.11/kdeplasma-addons.nix
new file mode 100644
index 000000000000..550099830d91
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeplasma-addons.nix
@@ -0,0 +1,23 @@
+{ kde, kdelibs, marble, shared_desktop_ontologies, pkgconfig
+, boost, eigen, kde_workspace, attica, qca2, qimageblitz
+, kdepimlibs, libkexiv2, libqalculate, libXtst, libdbusmenu_qt
+, qjson, qoauth }:
+
+kde {
+
+# TODO: qwt, scim, ibus
+
+  KDEDIRS=marble;
+
+  buildInputs = [ kdelibs boost kde_workspace kdepimlibs attica qjson qoauth
+                  eigen qca2 libXtst qimageblitz libqalculate 
+                  shared_desktop_ontologies marble libkexiv2 libdbusmenu_qt
+  ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = {
+    description = "KDE Plasma Addons";
+    license = "GPL";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdesdk/cervisia.nix b/pkgs/desktops/kde-4.11/kdesdk/cervisia.nix
new file mode 100644
index 000000000000..1dabe46cd429
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdesdk/cervisia.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A KDE CVS frontend";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdesdk/dolphin-plugins.nix b/pkgs/desktops/kde-4.11/kdesdk/dolphin-plugins.nix
new file mode 100644
index 000000000000..ad8132a850e5
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdesdk/dolphin-plugins.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs, kde_baseapps }:
+
+kde {
+
+  # Needs kdebase for libkonq
+  buildInputs = [ kdelibs kde_baseapps ];
+
+  meta = {
+    description = "Svn, mercurial, git and bazaar plugins for dolphin";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdesdk/kapptemplate.nix b/pkgs/desktops/kde-4.11/kdesdk/kapptemplate.nix
new file mode 100644
index 000000000000..391536248dd3
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdesdk/kapptemplate.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A KDE 4 project template generator";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdesdk/kcachegrind.nix b/pkgs/desktops/kde-4.11/kdesdk/kcachegrind.nix
new file mode 100644
index 000000000000..65d410cca48d
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdesdk/kcachegrind.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE Frontend for Callgrind/Cachegrind";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdesdk/kde-dev-scripts.nix b/pkgs/desktops/kde-4.11/kdesdk/kde-dev-scripts.nix
new file mode 100644
index 000000000000..df81145e5d60
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdesdk/kde-dev-scripts.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Various scripts to ease KDE development";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdesdk/kde-dev-utils.nix b/pkgs/desktops/kde-4.11/kdesdk/kde-dev-utils.nix
new file mode 100644
index 000000000000..215c0a3c613a
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdesdk/kde-dev-utils.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs, gcc, libtool }:
+
+kde {
+  buildInputs = [ kdelibs libtool ];
+
+  preConfigure = "export CMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH:${gcc}:${gcc.gcc}";
+
+  meta = {
+    description = "various KDE development utilities";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdesdk/kdesdk-kioslaves.nix b/pkgs/desktops/kde-4.11/kdesdk/kdesdk-kioslaves.nix
new file mode 100644
index 000000000000..98bbce35a97c
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdesdk/kdesdk-kioslaves.nix
@@ -0,0 +1,12 @@
+{ kde, kdelibs, subversionClient, apr, aprutil,perl }:
+
+kde {
+
+  buildInputs = [ kdelibs subversionClient apr aprutil perl ];
+
+  cmakeFlags = [ "-DBUILD_perldoc=ON" ];
+
+  meta = {
+    description = "Subversion and perldoc kioslaves";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdesdk/kdesdk-strigi-analyzers.nix b/pkgs/desktops/kde-4.11/kdesdk/kdesdk-strigi-analyzers.nix
new file mode 100644
index 000000000000..4d579b88ba8a
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdesdk/kdesdk-strigi-analyzers.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Strigi analyzers for diff, po and ts";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdesdk/kdesdk-thumbnailers.nix b/pkgs/desktops/kde-4.11/kdesdk/kdesdk-thumbnailers.nix
new file mode 100644
index 000000000000..d707fe9038fe
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdesdk/kdesdk-thumbnailers.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs, gettext }:
+
+kde {
+
+  buildInputs = [ kdelibs gettext ];
+
+  meta = {
+    description = "PO file format thumbnailer";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdesdk/kompare.nix b/pkgs/desktops/kde-4.11/kdesdk/kompare.nix
new file mode 100644
index 000000000000..1ddb4b8ea5b9
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdesdk/kompare.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A program to view the differences between files and optionally generate a diff";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdesdk/lokalize.nix b/pkgs/desktops/kde-4.11/kdesdk/lokalize.nix
new file mode 100644
index 000000000000..1565426eb1fc
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdesdk/lokalize.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, hunspell }:
+
+kde {
+  buildInputs = [ kdelibs hunspell ];
+
+  meta = {
+    description = "KDE 4 Computer-aided translation system";
+    longDescription = ''
+      Computer-aided translation system.
+      Do not translate what had already been translated.
+    '';
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdesdk/okteta.nix b/pkgs/desktops/kde-4.11/kdesdk/okteta.nix
new file mode 100644
index 000000000000..058636596ad8
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdesdk/okteta.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, qca2 }:
+
+kde {
+  buildInputs = [ kdelibs qca2 ];
+
+# TODO: Look what does -DBUILD_mobile add
+
+  enableParallelBuilding = false;
+
+  meta = {
+    description = "KDE byte editor";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdesdk/poxml.nix b/pkgs/desktops/kde-4.11/kdesdk/poxml.nix
new file mode 100644
index 000000000000..6e46c3e3ab4f
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdesdk/poxml.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, antlr, gettext }:
+
+kde {
+  buildInputs = [ kdelibs antlr gettext ];
+
+  meta = {
+    description = "Po<->xml tools";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdesdk/umbrello.nix b/pkgs/desktops/kde-4.11/kdesdk/umbrello.nix
new file mode 100644
index 000000000000..e83a2d9a901b
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdesdk/umbrello.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, libxml2, libxslt, boost }:
+
+kde {
+  buildInputs = [ kdelibs libxml2 libxslt boost ];
+
+  meta = {
+    description = "Umbrello UML modeller";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdetoys/amor.nix b/pkgs/desktops/kde-4.11/kdetoys/amor.nix
new file mode 100644
index 000000000000..936d63d544a9
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdetoys/amor.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE creature for your desktop";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdetoys/kteatime.nix b/pkgs/desktops/kde-4.11/kdetoys/kteatime.nix
new file mode 100644
index 000000000000..dacf54def4b0
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdetoys/kteatime.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE utility for making a fine cup of tea";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdetoys/ktux.nix b/pkgs/desktops/kde-4.11/kdetoys/ktux.nix
new file mode 100644
index 000000000000..108f9be7c722
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdetoys/ktux.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, kde_workspace }:
+
+kde {
+  buildInputs = [ kdelibs kde_workspace ];
+
+  meta = {
+    description = "Tux Screen Saver";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeutils/ark.nix b/pkgs/desktops/kde-4.11/kdeutils/ark.nix
new file mode 100644
index 000000000000..eb3e12281d64
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeutils/ark.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, libarchive, bzip2, kde_baseapps, lzma, qjson }:
+
+kde {
+  buildInputs = [ kdelibs kde_baseapps libarchive bzip2 lzma qjson ];
+
+  meta = {
+    description = "KDE Archiving Tool";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeutils/filelight.nix b/pkgs/desktops/kde-4.11/kdeutils/filelight.nix
new file mode 100644
index 000000000000..25ecabed27ce
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeutils/filelight.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Tool to visualise file and directory sizes";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeutils/kcalc.nix b/pkgs/desktops/kde-4.11/kdeutils/kcalc.nix
new file mode 100644
index 000000000000..08b202e8f0e8
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeutils/kcalc.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, gmp }:
+
+kde {
+  buildInputs = [ kdelibs gmp ];
+
+  meta = {
+    description = "KDE Calculator";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeutils/kcharselect.nix b/pkgs/desktops/kde-4.11/kdeutils/kcharselect.nix
new file mode 100644
index 000000000000..d4c9c06f483d
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeutils/kcharselect.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE character selection utility";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeutils/kdf.nix b/pkgs/desktops/kde-4.11/kdeutils/kdf.nix
new file mode 100644
index 000000000000..3f9da58d0a62
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeutils/kdf.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE free disk space utility";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeutils/kfloppy.nix b/pkgs/desktops/kde-4.11/kdeutils/kfloppy.nix
new file mode 100644
index 000000000000..2434a4fa671f
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeutils/kfloppy.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Floppy disk formatting utility";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeutils/kgpg.nix b/pkgs/desktops/kde-4.11/kdeutils/kgpg.nix
new file mode 100644
index 000000000000..944b9edc64df
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeutils/kgpg.nix
@@ -0,0 +1,12 @@
+{ kde, kdelibs, kdepimlibs, libuuid }:
+
+kde {
+
+# TODO: uuid/uuid.h - not found
+
+  buildInputs = [ kdelibs kdepimlibs libuuid ];
+
+  meta = {
+    description = "Simple KDE GUI for GPG";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeutils/kremotecontrol.nix b/pkgs/desktops/kde-4.11/kdeutils/kremotecontrol.nix
new file mode 100644
index 000000000000..70311a789f99
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeutils/kremotecontrol.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, libXtst }:
+
+kde {
+  buildInputs = [ kdelibs libXtst ];
+
+  meta = {
+    description = "KDE remote control";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeutils/ktimer.nix b/pkgs/desktops/kde-4.11/kdeutils/ktimer.nix
new file mode 100644
index 000000000000..5700977349e3
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeutils/ktimer.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE Timer";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeutils/kwallet.nix b/pkgs/desktops/kde-4.11/kdeutils/kwallet.nix
new file mode 100644
index 000000000000..9ec0e6c0396c
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeutils/kwallet.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "KDE Wallet (password storage) management tool";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeutils/print-manager.nix b/pkgs/desktops/kde-4.11/kdeutils/print-manager.nix
new file mode 100644
index 000000000000..ae72becd1e49
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeutils/print-manager.nix
@@ -0,0 +1,27 @@
+{ kde, kdelibs
+, pythonPackages, cups, pyqt4, pykde4, pycups, system_config_printer }:
+
+let s_c_p = system_config_printer.override { withGUI = false; }; in
+
+kde rec {
+  buildInputs = [ kdelibs pythonPackages.python pythonPackages.wrapPython
+    ] ++ pythonPath;
+
+  pythonPath = [ cups pyqt4 pykde4 pycups s_c_p ];
+
+  passthru.propagatedUserEnvPackages = [ s_c_p ];
+
+  postInstall =
+    ''
+      wrapPythonPrograms
+
+      # "system-config-printer" supplies some D-Bus policy that we need.
+      mkdir -p $out/nix-support
+      echo ${s_c_p} > $out/nix-support/propagated-user-env-packages
+    '';
+
+  meta = {
+    description = "KDE printer manager";
+    longDescription = "Applet to view current print jobs and configure new printers";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeutils/superkaramba.nix b/pkgs/desktops/kde-4.11/kdeutils/superkaramba.nix
new file mode 100644
index 000000000000..cbe7a2856062
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeutils/superkaramba.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs, qimageblitz, python }:
+
+kde {
+  buildInputs = [ kdelibs qimageblitz python ];
+
+  cmakeFlags = [ "-DBUILD_icons=TRUE" "-DBUILD_plasma=TRUE" ];
+
+  meta = {
+    description = "A KDE Eye-candy Application";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdeutils/sweeper.nix b/pkgs/desktops/kde-4.11/kdeutils/sweeper.nix
new file mode 100644
index 000000000000..78d56c7df30e
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdeutils/sweeper.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Helps clean unwanted traces the user leaves on the system";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdewebdev/kfilereplace.nix b/pkgs/desktops/kde-4.11/kdewebdev/kfilereplace.nix
new file mode 100644
index 000000000000..55e37809e07b
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdewebdev/kfilereplace.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "Batch search and replace tool";
+    homepage = http://www.kdewebdev.org;
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdewebdev/kimagemapeditor.nix b/pkgs/desktops/kde-4.11/kdewebdev/kimagemapeditor.nix
new file mode 100644
index 000000000000..6d22f72461f9
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdewebdev/kimagemapeditor.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "An HTML imagemap editor";
+    homepage = http://www.nongnu.org/kimagemap/;
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdewebdev/klinkstatus.nix b/pkgs/desktops/kde-4.11/kdewebdev/klinkstatus.nix
new file mode 100644
index 000000000000..33a4d8c6083c
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdewebdev/klinkstatus.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs, libxml2, libxslt, kdepimlibs, htmlTidy, boost, ruby18 }:
+
+kde {
+
+  buildInputs = [ kdelibs kdepimlibs ruby18 htmlTidy boost ];
+
+  meta = {
+    description = "A KDE link checker";
+    homepage = http://klinkstatus.kdewebdev.org;
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/kdewebdev/kommander.nix b/pkgs/desktops/kde-4.11/kdewebdev/kommander.nix
new file mode 100644
index 000000000000..d5f4337f714d
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/kdewebdev/kommander.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+  buildInputs = [ kdelibs ];
+
+  meta = {
+    description = "A graphical editor of scripted dialogs";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/l10n/default.nix b/pkgs/desktops/kde-4.11/l10n/default.nix
new file mode 100644
index 000000000000..57d41fb35bf4
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/l10n/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, kdelibs, gettext, release, stable }:
+
+let
+
+  inherit (stdenv.lib) attrByPath singleton;
+
+  kdeL10nDerivation =
+    { lang, saneName, sha256 }:
+
+    stdenv.mkDerivation rec {
+      name = "kde-l10n-${saneName}-${release}";
+
+      src = fetchurl {
+        url = "mirror://kde/${if stable then "" else "un"}stable/${release}/src/kde-l10n/kde-l10n-${lang}-${release}.tar.xz";
+        name = "${name}.tar.xz";
+        inherit sha256;
+      };
+
+      buildInputs = [ gettext kdelibs ];
+
+      cmakeFlags = "-Wno-dev";
+
+      meta = {
+        description = "KDE translation for ${lang}";
+        license = "GPL";
+        inherit (kdelibs.meta) maintainers platforms homepage;
+      };
+    };
+
+  kdeL10nRelease =
+    builtins.listToAttrs (
+      map ({lang, saneName, sha256}:
+        {
+          name = saneName;
+          value = kdeL10nDerivation { inherit lang saneName sha256; };
+        }
+      ) (import (./manifest + "-${release}.nix"))
+    );
+
+in
+{
+  inherit kdeL10nDerivation;
+  recurseForDerivations = true;
+} // kdeL10nRelease
diff --git a/pkgs/desktops/kde-4.11/l10n/l10n-manifest.sh b/pkgs/desktops/kde-4.11/l10n/l10n-manifest.sh
new file mode 100755
index 000000000000..ec159a1e2047
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/l10n/l10n-manifest.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+# Usage: download kde-l10n to $dir, then run
+# $0 $dir
+
+dir=$1
+
+if [[ ! -d "${dir}" ]]; then
+  echo "${dir} is not a directory (or doesn't exist)!" >&2
+  exit 1
+fi
+
+release=$(ls "${dir}"/kde-l10n-en_GB-*.tar.xz | \
+	sed -e 's/.*en_GB-//' -e 's/\.tar\.xz//')
+
+echo "Detected release ${release}" >&2
+
+exec > "manifest-${release}.nix"
+echo "["
+for i in `cd "${dir}"; ls kde-l10n-*-${release}.tar.xz`; do
+  lang=${i%-${release}.tar.xz}
+  lang=${lang#kde-l10n-}
+  echo -n "${lang}.. " >&2
+  hash=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}")
+  echo "{"
+  echo "  lang = \"${lang}\";"
+  echo "  saneName = \"$(echo $lang | sed s^@^_^g)\";"
+  echo "  sha256 = \"${hash}\";"
+  echo "}"
+  echo $hash >&2
+done
+echo "]"
diff --git a/pkgs/desktops/kde-4.11/l10n/manifest-4.11.0.nix b/pkgs/desktops/kde-4.11/l10n/manifest-4.11.0.nix
new file mode 100644
index 000000000000..c3a46c7637e2
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/l10n/manifest-4.11.0.nix
@@ -0,0 +1,272 @@
+[
+{
+  lang = "ar";
+  saneName = "ar";
+  sha256 = "10bgdg0npcnxyyqgs1dyfabq8fv08qqifd2vyaffxal3n2qagi1l";
+}
+{
+  lang = "bg";
+  saneName = "bg";
+  sha256 = "0jqnav02skkkjphjc3llsqqhb6fid74djng17yhcl1zzdcim2xg1";
+}
+{
+  lang = "bs";
+  saneName = "bs";
+  sha256 = "1fh9zddwjz3wirhcr962hcaxri9342q39nqgi1xmwdj2n3mj57xk";
+}
+{
+  lang = "ca";
+  saneName = "ca";
+  sha256 = "1y83qi5j5wx6fb0zbch3q95nsrhf4x2rrkcxdfcgfx7gwr04d2fz";
+}
+{
+  lang = "ca@valencia";
+  saneName = "ca_valencia";
+  sha256 = "1pqbl2mwnpkiby0gm1dk55cij2x1501pgn74zkasy2agacvfaslb";
+}
+{
+  lang = "cs";
+  saneName = "cs";
+  sha256 = "1cnmsjfzc8cimp0h06dm7rfmj9rw47f61py8z288a0iw7j5rgrr4";
+}
+{
+  lang = "da";
+  saneName = "da";
+  sha256 = "0a7jhy43j9x7z0bp5yijvkx51zfycizvd6kd9a7d88467vxc54hz";
+}
+{
+  lang = "de";
+  saneName = "de";
+  sha256 = "1i2gc86b77k5swmphl25ivpigiqrkhipmnc2vmrp444jialksgdy";
+}
+{
+  lang = "el";
+  saneName = "el";
+  sha256 = "1pgc64gw46gb8hbjmw06q1d6rawpcqw8llgp55drghcjy484j1sw";
+}
+{
+  lang = "en_GB";
+  saneName = "en_GB";
+  sha256 = "0p1cralvfggqnjvikrgibvlic01fpc5fbdyxjrhrhj195f30sjmw";
+}
+{
+  lang = "es";
+  saneName = "es";
+  sha256 = "0msz90jyac7y20rdglbmr8jf7yhb7vwncjynfgrvxd9b998rk4h8";
+}
+{
+  lang = "et";
+  saneName = "et";
+  sha256 = "1yykm0hg4bay7i3i16ssa0rvf3kmqv3vgq3gxmism774c4sgng2i";
+}
+{
+  lang = "eu";
+  saneName = "eu";
+  sha256 = "00ma7hhjj08gwzy6f9xmbakkbhcc2gpn5v2j1jdqah52jmnw2d1c";
+}
+{
+  lang = "fa";
+  saneName = "fa";
+  sha256 = "045wmlmv2rwik1c4v94d68c62bqkrmf6igxz65dv4hw2f5jj86gr";
+}
+{
+  lang = "fi";
+  saneName = "fi";
+  sha256 = "1sbgdhr60f10g4lxlcqsx4pid3lmzs2rywdjpqil9ymfy2kpbrc6";
+}
+{
+  lang = "fr";
+  saneName = "fr";
+  sha256 = "07y67hg9rp4xckg19zk0lkhrd7i857qkqsbxc0wa9a9chldspjvs";
+}
+{
+  lang = "ga";
+  saneName = "ga";
+  sha256 = "1jrr7d14i18r1v1d20vrjn942wa5ppp6zxl6xk6vjsvbz66aj36g";
+}
+{
+  lang = "gl";
+  saneName = "gl";
+  sha256 = "1af0wldc8f01zdlc184zqa6gvd11jd5pw1ya51j457rz69k1hvyx";
+}
+{
+  lang = "he";
+  saneName = "he";
+  sha256 = "1h5ngkc79pkh1zplq06x2v6qv81mh0fw6yidlw54knqz1bblg1k9";
+}
+{
+  lang = "hi";
+  saneName = "hi";
+  sha256 = "11wh3s80khm0czyxm5hcb381dn2hvmdg6k2gggq4jicnycm4rffl";
+}
+{
+  lang = "hr";
+  saneName = "hr";
+  sha256 = "10p1h4k728p18r2m08d165gx640946zf40a57cf9jwv0z6xa3hbq";
+}
+{
+  lang = "hu";
+  saneName = "hu";
+  sha256 = "1ymgdbvcyq278gxx197jl0i0fiwf1gpycnkyc578g39gddzzh18g";
+}
+{
+  lang = "ia";
+  saneName = "ia";
+  sha256 = "1azvfzffqgm15cavv5biy5ymn2wawszgrppk3mki1qnmwrlppx2p";
+}
+{
+  lang = "is";
+  saneName = "is";
+  sha256 = "19g7w461g73z0lnmzwkjavg416d54gclhac8bvc53hs7dr6kwnfh";
+}
+{
+  lang = "it";
+  saneName = "it";
+  sha256 = "0m6rjgv8x33mhmnis86821djc3xsr2xfx5knajhnyrj5yycyy01p";
+}
+{
+  lang = "ja";
+  saneName = "ja";
+  sha256 = "0xcpzlzff4s71miia4gnlxr0qvpipnqmk5lgnxjq27rh1isyasj6";
+}
+{
+  lang = "kk";
+  saneName = "kk";
+  sha256 = "1h3bxk7lvd3ivh613805x5xrcfvbxnn0qzbpyy4bysk3lz9kb4bm";
+}
+{
+  lang = "km";
+  saneName = "km";
+  sha256 = "1mabfvpwxnqhim9gvxb7qxapy6mzmrrhr4q6ai5w2ssyg0sxrb4b";
+}
+{
+  lang = "ko";
+  saneName = "ko";
+  sha256 = "14hzpw2phy6yc6ykx7ny22dqwic7lmkv96f6jhdmcwsjbq9jkj69";
+}
+{
+  lang = "lt";
+  saneName = "lt";
+  sha256 = "1bk1ghwhzbgw6awxnz7w5wl49632rb708l8v080l6is3hb88l9gi";
+}
+{
+  lang = "lv";
+  saneName = "lv";
+  sha256 = "12yhzg22h1x6dmpmx79bryq94kii8brqasn49ahvshckx3i2y1hm";
+}
+{
+  lang = "mr";
+  saneName = "mr";
+  sha256 = "1ag0f1qafm75k1zr5i0jzi3kgal7sw004s2qpq0mkda66p8sxwgv";
+}
+{
+  lang = "nb";
+  saneName = "nb";
+  sha256 = "0mc0760yyr23913x6g8f56mfrfwn8s1zav1hz3714jif7sjg6bjs";
+}
+{
+  lang = "nds";
+  saneName = "nds";
+  sha256 = "03c0x26plqlvpnsxv5k0x4j92n1dh9mdgg8f5qpwm7cq2k8pnl72";
+}
+{
+  lang = "nl";
+  saneName = "nl";
+  sha256 = "0naglfrd0bkahq4pbxb7pi4nkp6cj09w0q8j4jnxf7b104rcj3fv";
+}
+{
+  lang = "nn";
+  saneName = "nn";
+  sha256 = "0bmz5l4yasslaqql0zkp5s4k9rsw79rf37vnm6d4hprpckam051h";
+}
+{
+  lang = "pa";
+  saneName = "pa";
+  sha256 = "1rykl2z38asa23aa5cqsmril5j0x57j0n0k4qygpy52ifc5gvvf7";
+}
+{
+  lang = "pl";
+  saneName = "pl";
+  sha256 = "18yc8hdn4m4h867di098qswdhyx0jsnsh3ax1ax1dfxrdzmy57rq";
+}
+{
+  lang = "pt";
+  saneName = "pt";
+  sha256 = "187mgq4s2gmhzd625rni8cmdpvhlnf6zn179wlp140lvdfzblr6c";
+}
+{
+  lang = "pt_BR";
+  saneName = "pt_BR";
+  sha256 = "1726qd01iaq730c2dkjb8r8fw34fmqn741c5qz2i57f2f527vf8z";
+}
+{
+  lang = "ro";
+  saneName = "ro";
+  sha256 = "0zip2v24ha69si76rjz4qpmwjqnv0w427qa5c1cgc19a04jnbi32";
+}
+{
+  lang = "ru";
+  saneName = "ru";
+  sha256 = "1irrhlqmv2cij04kc29rhg0yamw4h6gqijjnhgj6a89gffqn9p1i";
+}
+{
+  lang = "sk";
+  saneName = "sk";
+  sha256 = "00pb7z1bqwbymzf91l82ggiqax7qf0pxhjgbbjj5aq25s8rc950v";
+}
+{
+  lang = "sl";
+  saneName = "sl";
+  sha256 = "10xixsja2jqhhfwp59yjvzvwmcqvfcs782y7j3wwxmh9a3m6ckzi";
+}
+{
+  lang = "sr";
+  saneName = "sr";
+  sha256 = "1pxy8x8jgri25qr4v53kqnilk8hjqcq6mgdk8p795s0zi73bhh0a";
+}
+{
+  lang = "sv";
+  saneName = "sv";
+  sha256 = "15npn4nq91hxhqpnyvk2c0c7ka2mm6r6p3cm4amyb22dq8qqfw50";
+}
+{
+  lang = "tg";
+  saneName = "tg";
+  sha256 = "077anp6h7prj6hlxbm5lzxv8ria2zbrlgixxinf3cywxq0haajx2";
+}
+{
+  lang = "tr";
+  saneName = "tr";
+  sha256 = "06l5y2bl57sfx9jh9g5idl3y76sg4dysgxdvwp8sgg9yj19dnjmn";
+}
+{
+  lang = "ug";
+  saneName = "ug";
+  sha256 = "1jr920hihgr27rfznzdn4rc6sz1wi97pnhvikz2hg7nzqrycmb8a";
+}
+{
+  lang = "uk";
+  saneName = "uk";
+  sha256 = "1qr6hyh0pqskc4mc7655b5nzkvbmw3hzpzz5iiwp37n3w72ig9km";
+}
+{
+  lang = "vi";
+  saneName = "vi";
+  sha256 = "12bnagz2wq1i9zhs7rl6akr6a7h2pndrpqipdynj4dx0nvs0vc15";
+}
+{
+  lang = "wa";
+  saneName = "wa";
+  sha256 = "093mwn705f1bp3143pzm4h85hrjjr9fiiahbfvvy2ih6xv3x88nb";
+}
+{
+  lang = "zh_CN";
+  saneName = "zh_CN";
+  sha256 = "1swcnfpv9n4561hl7rqivny7mcmnk95j495rvr8hs384gq2q1b67";
+}
+{
+  lang = "zh_TW";
+  saneName = "zh_TW";
+  sha256 = "0x7b3jz0ilb4ww3yi70w36zkid2sgnf0mld1kxkkc8aacm00bmq9";
+}
+]
diff --git a/pkgs/desktops/kde-4.11/oxygen-icons.nix b/pkgs/desktops/kde-4.11/oxygen-icons.nix
new file mode 100644
index 000000000000..bdc3c5813716
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/oxygen-icons.nix
@@ -0,0 +1,15 @@
+{ kde, cmake }:
+
+kde {
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = "03wzq5b9yn7x7qjl6vypsa4jh2km0vz122wyg0pfk6nfl1frgnjf";
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = {
+    description = "KDE Oxygen theme icons";
+    longDescription = "Icons for KDE's default theme";
+    license = "GPL";
+  };
+}
diff --git a/pkgs/desktops/kde-4.11/support/akonadi/default.nix b/pkgs/desktops/kde-4.11/support/akonadi/default.nix
new file mode 100644
index 000000000000..af27b683f25a
--- /dev/null
+++ b/pkgs/desktops/kde-4.11/support/akonadi/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, cmake, qt4, shared_mime_info, libxslt, boost, automoc4, soprano, sqlite }:
+
+stdenv.mkDerivation rec {
+  name = "akonadi-1.10.2";
+  
+  src = fetchurl {
+    url = "mirror://kde/stable/akonadi/src/${name}.tar.bz2";
+    sha256 = "1jij7vmrxg4kzqcq4ci73q3m3927bym5xb34kvmpq3h7p1d0vmgk";
+  };
+
+  buildInputs = [ qt4 soprano libxslt boost sqlite ];
+
+  nativeBuildInputs = [ cmake automoc4 shared_mime_info ];
+
+  enableParallelBuilding = true;
+  
+  meta = with stdenv.lib; {
+    description = "KDE PIM Storage Service";
+    license = "LGPL";
+    homepage = http://pim.kde.org/akonadi;
+    maintainers = [ maintainers.sander maintainers.urkud ];
+    platforms = platforms.linux;
+  };
+}