diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix
index b82398ccf9d..5c30d3c0f53 100644
--- a/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixos/modules/services/x11/desktop-managers/default.nix
@@ -17,7 +17,7 @@ in
# Note: the order in which desktop manager modules are imported here
# determines the default: later modules (if enabled) are preferred.
# E.g., if KDE is enabled, it supersedes xterm.
- imports = [ ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./e17.nix ./gnome3.nix ./xbmc.nix ];
+ imports = [ ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./kde4_next.nix ./e17.nix ./gnome3.nix ./xbmc.nix ];
options = {
diff --git a/nixos/modules/services/x11/desktop-managers/kde4_next.nix b/nixos/modules/services/x11/desktop-managers/kde4_next.nix
new file mode 100644
index 00000000000..fc27c49e0de
--- /dev/null
+++ b/nixos/modules/services/x11/desktop-managers/kde4_next.nix
@@ -0,0 +1,163 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+ xcfg = config.services.xserver;
+ cfg = xcfg.desktopManager.kde4_next;
+ xorg = pkgs.xorg;
+ kde = pkgs.kde4_next;
+
+ # Disable Nepomuk and Strigi by default. As of KDE 4.7, they don't
+ # really work very well (e.g. searching files often fails to find
+ # files), segfault sometimes and consume significant resources.
+ # They can be re-enabled in the KDE System Settings under "Desktop
+ # Search".
+ nepomukConfig = pkgs.writeTextFile
+ { name = "nepomuk-config";
+ destination = "/share/config/nepomukserverrc";
+ text =
+ ''
+ [Basic Settings]
+ Start Nepomuk=false
+
+ [Service-nepomukstrigiservice]
+ autostart=false
+ '';
+ };
+
+ phononBackends = {
+ gstreamer = [
+ pkgs.phonon_backend_gstreamer
+ pkgs.gst_all.gstPluginsBase
+ pkgs.gst_all.gstPluginsGood
+ pkgs.gst_all.gstPluginsUgly
+ pkgs.gst_all.gstPluginsBad
+ pkgs.gst_all.gstFfmpeg # for mp3 playback
+ pkgs.gst_all.gstreamer # needed?
+ ];
+
+ vlc = [pkgs.phonon_backend_vlc];
+ };
+
+ phononBackendPackages = flip concatMap cfg.phononBackends
+ (name: attrByPath [name] (throw "unknown phonon backend `${name}'") phononBackends);
+
+in
+
+{
+ options = {
+
+ services.xserver.desktopManager.kde4_next = {
+ enable = mkOption {
+ type = types.bool;
+ default = false;
+ description = "Enable the KDE 4 desktop environment.";
+ };
+
+ phononBackends = mkOption {
+ type = types.listOf types.str;
+ default = ["gstreamer"];
+ example = ["gstreamer" "vlc"];
+ description = "Which phonon multimedia backend kde should use";
+ };
+ };
+
+ };
+
+
+ config = mkIf (xcfg.enable && cfg.enable) {
+
+ # If KDE 4 is enabled, make it the default desktop manager (unless
+ # overridden by the user's configuration).
+ # !!! doesn't work yet ("Multiple definitions. Only one is allowed
+ # for this option.")
+ # services.xserver.desktopManager.default = mkOverride 900 "kde4_next";
+
+ services.xserver.desktopManager.session = singleton
+ { name = "kde4_next";
+ bgSupport = true;
+ start =
+ ''
+ # The KDE icon cache is supposed to update itself
+ # automatically, but it uses the timestamp on the icon
+ # theme directory as a trigger. Since in Nix the
+ # timestamp is always the same, this doesn't work. So as
+ # a workaround, nuke the icon cache on login. This isn't
+ # perfect, since it may require logging out after
+ # installing new applications to update the cache.
+ # See http://lists-archives.com/kde-devel/26175-what-when-will-icon-cache-refresh.html
+ rm -fv $HOME/.kde/cache-*/icon-cache.kcache
+
+ # Qt writes a weird ‘libraryPath’ line to
+ # ~/.config/Trolltech.conf that causes the KDE plugin
+ # paths of previous KDE invocations to be searched.
+ # Obviously using mismatching KDE libraries is potentially
+ # disastrous, so here we nuke references to the Nix store
+ # in Trolltech.conf. A better solution would be to stop
+ # Qt from doing this wackiness in the first place.
+ if [ -e $HOME/.config/Trolltech.conf ]; then
+ sed -e '/nix\\store\|nix\/store/ d' -i $HOME/.config/Trolltech.conf
+ fi
+
+ # Start KDE.
+ exec ${kde.kdebase_workspace}/bin/startkde
+ '';
+ };
+
+ security.setuidOwners = singleton
+ { program = "kcheckpass";
+ source = "${kde.kdebase_workspace}/lib/kde4/libexec/kcheckpass";
+ owner = "root";
+ group = "root";
+ setuid = true;
+ };
+
+ environment.systemPackages =
+ [ kde.kdelibs
+
+ kde.kde_baseapps # Splitted kdebase
+ kde.kde_workspace
+ kde.kde_runtime
+ kde.konsole
+ kde.kate
+
+ kde.kde_wallpapers # contains kdm's default background
+ kde.oxygen_icons
+ pkgs.virtuoso # to enable Nepomuk to find Virtuoso
+
+ # Starts KDE's Polkit authentication agent.
+ kde.polkit_kde_agent
+
+ # Miscellaneous runtime dependencies.
+ kde.qt4 # needed for qdbus
+ pkgs.shared_mime_info
+ xorg.xmessage # so that startkde can show error messages
+ xorg.xset # used by startkde, non-essential
+ xorg.xauth # used by kdesu
+ pkgs.shared_desktop_ontologies # used by nepomuk
+ pkgs.strigi # used by nepomuk
+ pkgs.mysql # used by akonadi
+ ]
+ ++ lib.optional config.hardware.pulseaudio.enable kde.kmix # Perhaps this should always be enabled
+ ++ lib.optional config.hardware.bluetooth.enable kde.bluedevil
+ ++ lib.optional config.networking.networkmanager.enable kde.networkmanagement
+ ++ [ nepomukConfig ] ++ phononBackendPackages;
+
+ environment.pathsToLink = [ "/share" ];
+
+ environment.etc = singleton
+ { source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
+ target = "X11/xkb";
+ };
+
+ # Enable helpful DBus services.
+ services.udisks2.enable = true;
+ services.upower.enable = config.powerManagement.enable;
+
+ security.pam.services.kde = { allowNullPassword = true; };
+
+ };
+
+}
diff --git a/pkgs/desktops/kde-4.13/applications/kate.nix b/pkgs/desktops/kde-4.13/applications/kate.nix
new file mode 100644
index 00000000000..63bfa12c4bb
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/applications/konsole.nix b/pkgs/desktops/kde-4.13/applications/konsole.nix
new file mode 100644
index 00000000000..0db47fb2d7c
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/default.nix b/pkgs/desktops/kde-4.13/default.nix
new file mode 100644
index 00000000000..14861a8885f
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/default.nix
@@ -0,0 +1,44 @@
+{ callPackage, callPackageOrig, stdenv, qt48, release ? "4.13.2" }:
+
+let
+ branch = "4.13";
+
+ # Need callPackageOrig to avoid infinite cycle
+ kde = callPackageOrig ./kde-package {
+ inherit release branch 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 branch;
+ inherit (kde.manifest) stable;
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/files/kde-wallpapers-buildsystem.patch b/pkgs/desktops/kde-4.13/files/kde-wallpapers-buildsystem.patch
new file mode 100644
index 00000000000..378cdb64694
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/files/polkit-install.patch b/pkgs/desktops/kde-4.13/files/polkit-install.patch
new file mode 100644
index 00000000000..d2ecac663ec
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kactivities.nix b/pkgs/desktops/kde-4.13/kactivities.nix
new file mode 100644
index 00000000000..06381bb13d7
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kde-base-artwork.nix b/pkgs/desktops/kde-4.13/kde-base-artwork.nix
new file mode 100644
index 00000000000..3f416cebddc
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kde-baseapps/kde-baseapps.nix b/pkgs/desktops/kde-4.13/kde-baseapps/kde-baseapps.nix
new file mode 100644
index 00000000000..c2a25664678
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kde-package/4.13.2.nix b/pkgs/desktops/kde-4.13/kde-package/4.13.2.nix
new file mode 100644
index 00000000000..de929376863
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kde-package/4.13.2.nix
@@ -0,0 +1,625 @@
+{stable=true;
+hashes=builtins.listToAttrs[
+ {name="amor";value="0lrgvi8r2b4z3yp8xdjydf41gm84cxzr90flswb9a0vrsvshkkx1";}
+ {name="analitza";value="0gmhjhm366ddz0r8bapkbl62ghqnixiarqp3c12jg80fgl369raz";}
+ {name="ark";value="1x7bxcn8z863zir09dl0jrb863idz1g6m23va39ny7ks0cmj0vfc";}
+ {name="artikulate";value="04l1mz79zwkrsgawvn3rf7pg5qg4idfsz70g4hafxsl6d8p3lcip";}
+ {name="audiocd-kio";value="0f0gjxr4n6sgfq14vkylagipv6xpq9zb6z8scmf3h4kphcylcjah";}
+ {name="baloo";value="04zls6mxz0d8m9nmsrvd6ayld5610hwgcp0cxc5w87wkdqx3nd44";}
+ {name="baloo-widgets";value="1fl2rlrlx2ccmwqpl3knjjyca1dl1zzl8ifwaryklqm1yibg9yxq";}
+ {name="blinken";value="13p1c58gj477s9zr5hsxbd5nxfzaippx1qrlblzn2hf49an1gf9d";}
+ {name="bomber";value="090ii827nfnlx1bx9lnx74sid1b9crgw8jgwynywx3jw5dbqrih0";}
+ {name="bovo";value="1hys6lfp455kixlhzk0mf2x24p6b0n0i14fwid05anj3mzjycdwh";}
+ {name="cantor";value="1mdgrm1va8377c0hy5h4x1l5fvzb1wh2a3j2rbwfh2z1glwicpyw";}
+ {name="cervisia";value="1kig86y8lihxask4qlibrxc18w1dl0ljj93721ivwz1hl3ja1nwa";}
+ {name="dolphin-plugins";value="0rf450vn56fw3cmvr434crllc1fv0brb2cf5sk5q284pgmxg7jn2";}
+ {name="dragon";value="0b64bpyba85hfx6ai4m4zazilcj6sabphafnw87m51xa5bq8gz08";}
+ {name="ffmpegthumbs";value="1i3f15rfwizsaqqz0jn8ghpg55hx3zwxp049jaghgy9d4w2f0mbq";}
+ {name="filelight";value="1nrw06kpwyhvjicwikzg2b2pq5g2pwfv9s694wwigz58xp6mqqp1";}
+ {name="granatier";value="03zpgk8naidy044v2r5kimb5scmj0nvyw6w37nrb4sbqz2s0zjl6";}
+ {name="gwenview";value="090ij5yv6c8a6vf4q0fw2dskdbqd66anwk5p6c754kffzphy69k6";}
+ {name="jovie";value="1hppkv83i9qwpdd9j1bfqyjxqpjy318y1mk0fd2z5r00qxyfbr0f";}
+ {name="juk";value="1ifw1r3sbi9z265asm9gv8cs4sdc0l8w21fvbh8yish5m6riwxvx";}
+ {name="kaccessible";value="1w7m0cpxy9jl61bknx87g7i97lx2y28qljis4d7smpbvhyzk3sg6";}
+ {name="kactivities";value="11b3z1wkbykyv8frd9ssz1pb0qjczdnbn6zw2awhq0py94psrh62";}
+ {name="kajongg";value="1qf8y5d436cys9v2xcfr0zvl5gxml3gxjql3w7fdsa0bfa3czr2w";}
+ {name="kalgebra";value="19f91bb2a5l7hd0b0mcf690lgipdybdras1j2ggd775czijq10hc";}
+ {name="kalzium";value="0i0va37r73mcp9xk8jd203wxpky6bsswhgmi6w4qfz05ql0llyls";}
+ {name="kamera";value="1idazzg35a29kz6k1c5m5madkfyzp15vdkfcbjabc7gwj8dggn6c";}
+ {name="kanagram";value="1xm4cn9ypsqfrp1rqgl0bqzkp4vqjqwm1fr67lr64g4mwspp2m10";}
+ {name="kapman";value="053lrfvdryhyigrglqyxqbislwwc98n0hxrkxziakmw32k69lnlf";}
+ {name="kapptemplate";value="0b8dj3wildq80bxf8km19iahlz2cg5m5rdp0lz5shrz5b9sl7vg0";}
+ {name="kate";value="0pgxq0xlzbiag1w9am090bi30gq3gs2bxrdjpqwk4zwcllz94ym7";}
+ {name="katomic";value="10kcd0c586h96aggq7xg0h98bz65qf0dy1g0zk63z7jrqqmsaimr";}
+ {name="kblackbox";value="04m169inzbz19i120ybw3wlilsh6pdxfknhg2lxbm9gndjdyxghh";}
+ {name="kblocks";value="0vq1mxi05nb12a533fn940sz9mcpmz2qqzyspvdiijy1ff1h9ax9";}
+ {name="kbounce";value="0jhmbga21a9b6i2z52f0zgmxywq46sr5fy68hh9m1ka9khrrz6cx";}
+ {name="kbreakout";value="1vp1c3i3pwm1xysfm21c6dzxpxfiy44bwjqxhwskialir5q09c57";}
+ {name="kbruch";value="04q6pa60mrw58nk73is6fby03ppvafahhbmbq7kdzwa1k67hkrkd";}
+ {name="kcachegrind";value="0wrbr66lhpbxj064j1qx8lmks6s77j5w6qv3kpnx2mlzs48v424r";}
+ {name="kcalc";value="17psx2hwrpxx4w9wa70gy9y1b63cvc2yr9r3xm25nvx9x6mjak5p";}
+ {name="kcharselect";value="0b9cc2vjh1aslvj6a9pp4g2j65x5h915gnm3lz09p1bq1wnf3pn0";}
+ {name="kcolorchooser";value="1hr86adginxa1x15gkhf7y9210pl6gx4qnm4jz2vsggwi959i183";}
+ {name="kcron";value="1bzk3qs6mwl7djk98davwys1s8a8vsz8w8kfmmbql5mwzy3q0n6f";}
+ {name="kdeartwork";value="1qz9dlbx576vlbckdq9vyvyr4zlnbaxwgqlzagh5cqspmp1yq1jj";}
+ {name="kde-baseapps";value="0237i2d1nv3931af07bzf93sf4y500xdv079l97l21lbpavfacqa";}
+ {name="kde-base-artwork";value="1gv310n0ym5lb17mpfsb5679mh774rv4ahzk7x5vmlv53lh4zc4s";}
+ {name="kde-dev-scripts";value="1qbdw5kjks1l8aky1lpx2p14q3l5x45pk92xij259n2216ibq3qz";}
+ {name="kde-dev-utils";value="097i2lvanmdkws3id7f06m3brnixw43fqh6dhvxhz19xcdsckhzv";}
+ {name="kdegraphics-mobipocket";value="09c8d6jsy257hvr8s8qxpa3vrh70l2z1ykqfsdwgbic3nkqskg9j";}
+ {name="kdegraphics-strigi-analyzer";value="0xx2vjndsg2p1gawfd3azjax1045xqd95icif45v6x7cdjp4j47l";}
+ {name="kdegraphics-thumbnailers";value="0adqpj3gm959yvjvv3aas6b4zw4adk82sm91inp7rf88c44bjj2m";}
+ {name="kdelibs";value="03nsxwcxxpb861cd2dyl7hfbksxhk267xdjg384z23xq0b30k62m";}
+ {name="kdenetwork-filesharing";value="1v9n9jqk9dgnw73nizyqgjfk1h5sxw2rin39xraj1vpmw4pp6ylr";}
+ {name="kdenetwork-strigi-analyzers";value="1g1aap4pz8ifj4gxzfaw4bspnn8syd33l97hn1xn2vqqzim376c3";}
+ {name="kdepimlibs";value="1j5692msbnsp9xpm2gfqqkybck8pyagl86a6rdq7n2zp85jyy03a";}
+ {name="kdepim-runtime";value="19v729ijx42f86q0aw8rwv470hgrn0mnl8qa7ajrynswp0v820lx";}
+ {name="kdeplasma-addons";value="1bmp2wl8ya4mili8zv69hbpwasvda7r5b7z2i79rpfw4kcf7lgnv";}
+ {name="kde-runtime";value="11r06hkvkrlva7lhfdfd8p7b6q53fvjckixbsiavl259sdfl7hhy";}
+ {name="kdesdk-kioslaves";value="1iww0r61cmfpcs2v3jswh9c2ba54bbqnnwihnq9g2dlsy77138b1";}
+ {name="kdesdk-strigi-analyzers";value="0hm680sxgv7r51kyyhng00jnh6smki70cl7ms0gg07pyixhkjxqm";}
+ {name="kdesdk-thumbnailers";value="1zzhzpp6cmx6va1z2x2vq34wilh7sbinw0nqdhm4jra5qndx9j4h";}
+ {name="kde-wallpapers";value="0jsy9kdg6w241lf4zs693cgkc6mvlby9ligfqskf97529y4bjpkm";}
+ {name="kdewebdev";value="0vwx9vf59hmjypgzpmgdzxzxmkx758d5y69c101dmkjb52iadknp";}
+ {name="kde-workspace";value="11lfqfg646blm770xsblcvf48i126z956wv4yxqw9la39m21dlcr";}
+ {name="kdf";value="06dj0pqpk1h58zm5gncsddcss0b5n8wb6m1whsxp86al9xm1d5ck";}
+ {name="kdiamond";value="0z76p92zk548kimkzq5v7c145xwl5pzf69w48gkldgwi2amwhqc9";}
+ {name="kfilemetadata";value="1s2vs2lw9ml79ccl5vsik76ynk7nwqjsp8lm2xg91l8pn9laywgr";}
+ {name="kfloppy";value="1vnwi1rwgi1mrngdc69mm84159r933z54vdphcfyfjpngb5irk2n";}
+ {name="kfourinline";value="042n2jmps4z9l4w5vqixc2lx495839gfm58shdnzxxph5z29927v";}
+ {name="kgamma";value="0s5w37gr8c4cy0mv63x3qixkp7n2ayj4jmfnw25npxzd4phj21lz";}
+ {name="kgeography";value="0yv4bfk8fg0k9r2iiqhh52cfm4jpj5lpbhpq3ycngzi83mw71wv6";}
+ {name="kget";value="18mrvh22wfyz4k1jlvh8gd3szybixd1z8zzbd8dkykjis3yw1p5r";}
+ {name="kgoldrunner";value="17d6xmfjqkxyji7v2cv97gxrxp8a87vjw1yhz6blcg0vc6d9lq6j";}
+ {name="kgpg";value="0sngvdd8sfymi9wxivrzsgh3naf2hxv300a94pw1dalvvsrgxpxp";}
+ {name="khangman";value="0rbf3vz9ji0hyq9vj90pqpz0ch3bhqlqyj1030vbb0rvry2bb0h8";}
+ {name="kig";value="1y6kbq47zbhdm7v9x71nlzv0aa08nrm7g7g87ln0nbvxsn3v1xj3";}
+ {name="kigo";value="12awan4k2k6505i4bl3zyv4mr589q2m4grb4znh3d24qbgmk218l";}
+ {name="killbots";value="12wgnhiahgrzz5gxn77b0xqljdc22k4pw01fi3ixydx62a7a2402";}
+ {name="kimono";value="0dd3rjpwi7c1289i9vhcnmyqrhw0sx5dd6vmccyqb6krxw0iv3xr";}
+ {name="kiriki";value="1wr8za85qzaqsw7drlslvdqkmbbxhd4mlih6j862xk5rbfps1287";}
+ {name="kiten";value="1nppl5pqjbgmzshw1ahscb33lhfdmbid1ygdjjj5p9kdjx9p7yqn";}
+ {name="kjumpingcube";value="036j428grzcsphaq176c3ix8js59lss61m2nda7psk9jrkffyz22";}
+ {name="klettres";value="1pdldl7rxhbi4m98gb4an8k8z6djjamg7rwcl4pg0nj8k27idj3f";}
+ {name="klickety";value="02hghzi91raan0dqjskb4mann42pfz3c0frngdcnp23s616cqfg6";}
+ {name="klines";value="1z6v5nv6sq4kki9annpkb53bn8zcdcv3g70c7fddbiawq9kr0ai0";}
+ {name="kmag";value="1l1x1rprqf84wkiz09fyl1gvcx3bkk156mybh1gy7hdy114frgam";}
+ {name="kmahjongg";value="1wg09bdb5gaa28rdppafvvxc7h1gps3dv7ggy41pv9dm9fjw8zk2";}
+ {name="kmines";value="1ssw0vq0sxlp12wncnmcfdvglk45ds4hldinhdxbn9slfsc5vjg4";}
+ {name="kmix";value="13hdm8vg92mxm2v49x5r8r58614nbbd3ng0d6xj3h7v24g04h9db";}
+ {name="kmousetool";value="199f3wbf2yga1s0qjfnbmn1v80y2shsi4w5zhhrs8iscf8dzkyz0";}
+ {name="kmouth";value="13fshp58jk2bpk3z44krglr02bpl96s7ky2hz4lkghf0kgigh4wf";}
+ {name="kmplot";value="0syw06smr33ykjkgmf96iyfk7wmxbq6xvvfpasq0lyybjp9z62bv";}
+ {name="knavalbattle";value="171fgfc6g23nnzbmy1w1hm2v9780ihrw8cfz92xgars3ibfkjn6w";}
+ {name="knetwalk";value="0hi5bqg2dvrmkkcqiiylwvjmwdc22h76ndh5ym2d3kcmhmn3jmgp";}
+ {name="kolf";value="1y90lnci7bji47dkwa9p2b6fqj6k0qg53ng7hp430654xklv4k7m";}
+ {name="kollision";value="109a0zdv4mp7cd5qbf0yv0g0k6b698h2kssxndrmybaz5v2kj8kb";}
+ {name="kolourpaint";value="1ff6wzr28m6nlh1p6ggcxdjm03y8fsaffl929jkw9pqhhy2rhgd4";}
+ {name="kompare";value="03lgsfq1j6bxf31gaszxw65qxc9zcf021h6zd8wx5c6zmn72a4zz";}
+ {name="konquest";value="1zgs4hsff4wv5j49w327xjzsmya924iqwzygcxld9h4k4j78ypqc";}
+ {name="konsole";value="08sg90263916pihmp65s9lih3hjvbvk0sjybqqzxsbh310jwa12a";}
+ {name="kopete";value="1g4fcfq3g05hnbrm2fnsrxwiil2sj4jdr3szl96rsf2pgjy8wc84";}
+ {name="korundum";value="0chqsjc986dsm99zkm1ds9h292kpmnwd1hicmf1vg49zfchxkms4";}
+ {name="kpat";value="0visia7f6s6gs0kwspgkjg4lx0nm49glms2wqspsrli3bzjn415d";}
+ {name="kppp";value="1vmq3a83rb8rc54bf50jwk981mwr6i776wrbgmpq6pl7cpjmxnvm";}
+ {name="kqtquickcharts";value="0g0bn60j9bpfbxpy6fyfl504n5l1zafb3awkql9ld67h8946935p";}
+ {name="krdc";value="114bp80k1w01xv3y1kq38hdc7dnkhcgbiw89kpgn9wyscgrxd4kk";}
+ {name="kremotecontrol";value="1paxn1dd3fwagmiy7a772k4kdglvcszxw56lj3jqas3isdjhxm6a";}
+ {name="kreversi";value="0rsqpyaqw9blcl8hvbh4225xi3m7kmywc0i2m2hpv8ihqz30k2cb";}
+ {name="krfb";value="1qa6hvlwh55piw2hp4b5rpd8b7mp3wrlkh75p34l05fq55c60azw";}
+ {name="kross-interpreters";value="1j61fq2sl3lg4sy8vdm8spxcbv863icnx33y683ynrpcd8389jb4";}
+ {name="kruler";value="0b3hza24c11a6m12wi1am0wszi76405m5rpfna0pd94pl0mnp3ii";}
+ {name="ksaneplugin";value="0w16vxqanjs8faf8941wsz3bz8wg4pvk9h5ji78pf83kqnb0aj3g";}
+ {name="kscd";value="1k90wa4wndvyayms80ra0n93nmzcl5imgp0prx0kczfywvn9dm8l";}
+ {name="kshisen";value="1nbx9b2h06dr818zs7j1xq27ka8klgp4jpz55q2l2kqkgnyf5483";}
+ {name="ksirk";value="1z52hi8c0dgqs2zd8dmr11xf0ackg66w37d4qgz6iqfxhsb9j4mg";}
+ {name="ksnakeduel";value="108p8v3qirh6m8nbjrsnbxixmg3paar8853b69s54ssvwdl0in3c";}
+ {name="ksnapshot";value="0417qs7bb85vl3kp4saml27sl9yya1arzr8f2wlhkialwdlfxc5d";}
+ {name="kspaceduel";value="09mww9znxg4jzrfnvw3c2s3xjv6z5vflnmn61hdv1v9nqyxkxm6i";}
+ {name="ksquares";value="0zzap46yav1ddqd1nj8gmvmmrb3d6h4jvjzxn9793bbrrj001zq1";}
+ {name="kstars";value="1rfd5s366vzcs8zfa50rrmfp8xhqmm5gswsygxx2pr6xiny22g57";}
+ {name="ksudoku";value="0yfx3pwfzr8567h0zz0691wfv00444818cfr7qfy6s5p0520jaw4";}
+ {name="ksystemlog";value="0wc2cdyg4cj79lxzpxp73ag71w5z1wnpc4lfq8l9661hl0y1xwby";}
+ {name="kteatime";value="0587278b8wi5qk6gnqahw602nyaiflzbdpw7az4iwp0dy7s8ziiz";}
+ {name="ktimer";value="02i1lv916k1g0rgsfnx9qdzsk965l3p862g71zdfxnp8hsqxw3k8";}
+ {name="ktouch";value="06y1afrl7d67g4cw06k8kx63xa1bjdbsbg4v3fn6v8fgavkdkc70";}
+ {name="ktuberling";value="1z3gl2np2a03jfzhkcdakvibp0kihnqy9k6mfjwqpz5w0179sfyd";}
+ {name="kturtle";value="0a25y3cibxmdjyif4467a5yzsadpdciyaw99r47fpw8f1jdzz03f";}
+ {name="ktux";value="1sxggakp7vhkj0ygwnpangq4dyi1mykacdwyqlx08hj659w9ihdc";}
+ {name="kubrick";value="0ji5j9ai66fczx6mrfkjk2asnp5q5cq5qw5l75w0c0jnsfwg1qi4";}
+ {name="kuser";value="18lx93v9lka30gb16dk93svgq8rjgj0fa7la4w4b200zy01ci5ps";}
+ {name="kwalletmanager";value="1r55w4z2pa8b782b2apr0dy2lr7sw61z2vzzhjrip728sxd749ix";}
+ {name="kwordquiz";value="0afpd0gqprbs95lq4c68ybbdqsiz4n5b219156c5f1zv83lwn2l7";}
+ {name="libkcddb";value="1d56hnnfa8gwawfa0z0235b3ixjqcb96iybgcy2pdc2lh1ny9p74";}
+ {name="libkcompactdisc";value="1n470n7f16zb9zcrhfbhjsx7fhd8bi9zii6vk2rcmawwiw9x62ib";}
+ {name="libkdcraw";value="1n3g333px3vr61pmf158l57i1sqh26pbyzs20zvfzqyqhvbxmq02";}
+ {name="libkdeedu";value="1pyskpkaiz6ngya9adghq8xj835hgdjmjpkdc8dq3695k7fwdj4j";}
+ {name="libkdegames";value="0z1c2ybw3j97jx30yiq65lf72r0fllwsjl5mgclj9fp03m5225q6";}
+ {name="libkexiv2";value="0kgvx1a2qmsyagy10p4vypks557bivvajnggsaq2naya6kg8lwv6";}
+ {name="libkipi";value="05wflvasjmgglms4x2di5fs7lpx4wh3fqiqba376363r084drhdp";}
+ {name="libkmahjongg";value="1vkxcvhnhxhhq08pjr3r6wyckb8w2lpnhmkf4aiaspjspbvrfkgr";}
+ {name="libkomparediff2";value="0i7qxzpzsmxki8kk22z43jmm1z685lcsg03dzzsr6i49jbc59iid";}
+ {name="libksane";value="0wl20z4d84i3wb5h24nq92swirhyb4hiljrc7k6830g6i27lwm7m";}
+ {name="lokalize";value="1nw0jg4m2z3q6y7wrlv7lw7f0z2vwxd17zhmxy2cv5ckqlaj9rxg";}
+ {name="lskat";value="0qy04dgscazlxclqwipwla1cv27brjsp05lv1wbvpx0xg7m3cdsn";}
+ {name="marble";value="0h7jj3jfnyjkyw1882ak0275rr95j0qr65qkr6qjddy672q17xl5";}
+ {name="mplayerthumbs";value="1agr08ssdk50k73f7hyzh8j3j8l745qdwfa9brggv0hxmh6lk24k";}
+ {name="nepomuk-core";value="0z8mr47h1l1i5yzys39vfl7mylf9c72m1sakld633aryx4y94ch4";}
+ {name="nepomuk-widgets";value="1sblpfvpia6v28xanqh470hd7y24llqjbakr6xahz9wkb5bc837v";}
+ {name="okteta";value="1c50qa1v70j6wwc4d36v0dca1b88i18qky95vw1sd8cm2jmdc3ss";}
+ {name="okular";value="1k4wgkhz8kmixd2xdy1bmfz3qksniybmhwwwcbh1b8fzgw432ppw";}
+ {name="oxygen-icons";value="173hhnxxryl1fypgapgnni1yzh90sp8lsgdlyw7z35cqmppqvmbw";}
+ {name="pairs";value="1prg15q4jy83p5jxlpwrpa2fc6slqf9dw8jnznxbkdmm8f77dir3";}
+ {name="palapeli";value="1wzgik0wx3g6mdx8kmvjlmazw4i6rq8xlhqmnmz9vxcjpljz1vr3";}
+ {name="parley";value="1fd2wj9mb5if28qmd3a2ldd1vr0qkaky1r01vpyq82m6db035d7r";}
+ {name="perlkde";value="07qm9c06ff38l1bwbkxqrssnzz519wnzvglml4qs5b2kjlbzpjvi";}
+ {name="perlqt";value="0fynxqdkd7drxys96ifyd3nl21blbjrdr5fr9j7ws742lfgd32xc";}
+ {name="picmi";value="1v86rfc5clmccggyqdcv3k8amhr4hm1yds2v675pnj63gcg5qbnb";}
+ {name="poxml";value="1ihx6x1bhxywwy1gspbs85hr0lywnjrb33jj52sgcm6x8a2hg054";}
+ {name="print-manager";value="052m4a23nvafckq5zha3p6pbnilsrh5fwldf6i6jxwcaky7vjakv";}
+ {name="pykde4";value="06ip2al7ngpy0w20qd86ny7f2cdhjjqb99djk8p2rkkcm6gvl571";}
+ {name="qtruby";value="1r00k17x6g1x5cddvgvy450412kl63wwzc55dsa6ng6ywxk4qs7l";}
+ {name="qyoto";value="1f7rs1gnl5ircvnrgn6fjzhx383jyxiv53h3cjiqxg2mwf1iv2qn";}
+ {name="rocs";value="1af4np70xgzcfjzl8m18q5pn2zmjdm47p250f99gyrbmqmzamqfa";}
+ {name="smokegen";value="1grs9sysysv8n439ia52s25avx4ps74yw23gi8bjj8769f7hrjxj";}
+ {name="smokekde";value="1f3snr45charllv36cf24hy9c2wf58pfai7lv9kyc9xy1hyyfcbi";}
+ {name="smokeqt";value="01d4k0iqi50202d5c841vfv3518faalpgw6vzscbr32gprvffzj3";}
+ {name="step";value="0brpd13hjhvi9f7gra87d6chlizjvc4w9girlfxx26r70r2wf3mp";}
+ {name="superkaramba";value="1k14a8sy6vgi3h9jqfdmjsrkj5mi4rnqjnkb6p6j3yzi2ihni1mx";}
+ {name="svgpart";value="1g2j9advnvyxf0yv1yspycn33vsslq8yfxfa2y4nhn2qm10xsnyv";}
+ {name="sweeper";value="1dvw4gl18w9r07m3y2zqxvhlxspfal4zz9lhni1b4h3y0c021hz9";}
+ {name="umbrello";value="08g7j9frgp4956y0m3i0hsspw0c4j5kms03k1wlzj57vpgk3r1b0";}
+ {name="zeroconf-ioslave";value="0riyfnswq4gfjvd9fsfpc18sb3xxh36q1d9w50h7pyzsgdb7lisw";}
+];
+versions=builtins.listToAttrs[
+ {name="amor";value="4.13.2";}
+ {name="analitza";value="4.13.2";}
+ {name="ark";value="4.13.2";}
+ {name="artikulate";value="4.13.2";}
+ {name="audiocd-kio";value="4.13.2";}
+ {name="baloo";value="4.13.2";}
+ {name="baloo-widgets";value="4.13.2";}
+ {name="blinken";value="4.13.2";}
+ {name="bomber";value="4.13.2";}
+ {name="bovo";value="4.13.2";}
+ {name="cantor";value="4.13.2";}
+ {name="cervisia";value="4.13.2";}
+ {name="dolphin-plugins";value="4.13.2";}
+ {name="dragon";value="4.13.2";}
+ {name="ffmpegthumbs";value="4.13.2";}
+ {name="filelight";value="4.13.2";}
+ {name="granatier";value="4.13.2";}
+ {name="gwenview";value="4.13.2";}
+ {name="jovie";value="4.13.2";}
+ {name="juk";value="4.13.2";}
+ {name="kaccessible";value="4.13.2";}
+ {name="kactivities";value="4.13.2";}
+ {name="kajongg";value="4.13.2";}
+ {name="kalgebra";value="4.13.2";}
+ {name="kalzium";value="4.13.2";}
+ {name="kamera";value="4.13.2";}
+ {name="kanagram";value="4.13.2";}
+ {name="kapman";value="4.13.2";}
+ {name="kapptemplate";value="4.13.2";}
+ {name="kate";value="4.13.2";}
+ {name="katomic";value="4.13.2";}
+ {name="kblackbox";value="4.13.2";}
+ {name="kblocks";value="4.13.2";}
+ {name="kbounce";value="4.13.2";}
+ {name="kbreakout";value="4.13.2";}
+ {name="kbruch";value="4.13.2";}
+ {name="kcachegrind";value="4.13.2";}
+ {name="kcalc";value="4.13.2";}
+ {name="kcharselect";value="4.13.2";}
+ {name="kcolorchooser";value="4.13.2";}
+ {name="kcron";value="4.13.2";}
+ {name="kdeartwork";value="4.13.2";}
+ {name="kde-baseapps";value="4.13.2";}
+ {name="kde-base-artwork";value="4.13.2";}
+ {name="kde-dev-scripts";value="4.13.2";}
+ {name="kde-dev-utils";value="4.13.2";}
+ {name="kdegraphics-mobipocket";value="4.13.2";}
+ {name="kdegraphics-strigi-analyzer";value="4.13.2";}
+ {name="kdegraphics-thumbnailers";value="4.13.2";}
+ {name="kdelibs";value="4.13.2";}
+ {name="kdenetwork-filesharing";value="4.13.2";}
+ {name="kdenetwork-strigi-analyzers";value="4.13.2";}
+ {name="kdepimlibs";value="4.13.2";}
+ {name="kdepim-runtime";value="4.13.2";}
+ {name="kdeplasma-addons";value="4.13.2";}
+ {name="kde-runtime";value="4.13.2";}
+ {name="kdesdk-kioslaves";value="4.13.2";}
+ {name="kdesdk-strigi-analyzers";value="4.13.2";}
+ {name="kdesdk-thumbnailers";value="4.13.2";}
+ {name="kde-wallpapers";value="4.13.2";}
+ {name="kdewebdev";value="4.13.2";}
+ {name="kde-workspace";value="4.11.10";}
+ {name="kdf";value="4.13.2";}
+ {name="kdiamond";value="4.13.2";}
+ {name="kfilemetadata";value="4.13.2";}
+ {name="kfloppy";value="4.13.2";}
+ {name="kfourinline";value="4.13.2";}
+ {name="kgamma";value="4.13.2";}
+ {name="kgeography";value="4.13.2";}
+ {name="kget";value="4.13.2";}
+ {name="kgoldrunner";value="4.13.2";}
+ {name="kgpg";value="4.13.2";}
+ {name="khangman";value="4.13.2";}
+ {name="kig";value="4.13.2";}
+ {name="kigo";value="4.13.2";}
+ {name="killbots";value="4.13.2";}
+ {name="kimono";value="4.13.2";}
+ {name="kiriki";value="4.13.2";}
+ {name="kiten";value="4.13.2";}
+ {name="kjumpingcube";value="4.13.2";}
+ {name="klettres";value="4.13.2";}
+ {name="klickety";value="4.13.2";}
+ {name="klines";value="4.13.2";}
+ {name="kmag";value="4.13.2";}
+ {name="kmahjongg";value="4.13.2";}
+ {name="kmines";value="4.13.2";}
+ {name="kmix";value="4.13.2";}
+ {name="kmousetool";value="4.13.2";}
+ {name="kmouth";value="4.13.2";}
+ {name="kmplot";value="4.13.2";}
+ {name="knavalbattle";value="4.13.2";}
+ {name="knetwalk";value="4.13.2";}
+ {name="kolf";value="4.13.2";}
+ {name="kollision";value="4.13.2";}
+ {name="kolourpaint";value="4.13.2";}
+ {name="kompare";value="4.13.2";}
+ {name="konquest";value="4.13.2";}
+ {name="konsole";value="4.13.2";}
+ {name="kopete";value="4.13.2";}
+ {name="korundum";value="4.13.2";}
+ {name="kpat";value="4.13.2";}
+ {name="kppp";value="4.13.2";}
+ {name="kqtquickcharts";value="4.13.2";}
+ {name="krdc";value="4.13.2";}
+ {name="kremotecontrol";value="4.13.2";}
+ {name="kreversi";value="4.13.2";}
+ {name="krfb";value="4.13.2";}
+ {name="kross-interpreters";value="4.13.2";}
+ {name="kruler";value="4.13.2";}
+ {name="ksaneplugin";value="4.13.2";}
+ {name="kscd";value="4.13.2";}
+ {name="kshisen";value="4.13.2";}
+ {name="ksirk";value="4.13.2";}
+ {name="ksnakeduel";value="4.13.2";}
+ {name="ksnapshot";value="4.13.2";}
+ {name="kspaceduel";value="4.13.2";}
+ {name="ksquares";value="4.13.2";}
+ {name="kstars";value="4.13.2";}
+ {name="ksudoku";value="4.13.2";}
+ {name="ksystemlog";value="4.13.2";}
+ {name="kteatime";value="4.13.2";}
+ {name="ktimer";value="4.13.2";}
+ {name="ktouch";value="4.13.2";}
+ {name="ktuberling";value="4.13.2";}
+ {name="kturtle";value="4.13.2";}
+ {name="ktux";value="4.13.2";}
+ {name="kubrick";value="4.13.2";}
+ {name="kuser";value="4.13.2";}
+ {name="kwalletmanager";value="4.13.2";}
+ {name="kwordquiz";value="4.13.2";}
+ {name="libkcddb";value="4.13.2";}
+ {name="libkcompactdisc";value="4.13.2";}
+ {name="libkdcraw";value="4.13.2";}
+ {name="libkdeedu";value="4.13.2";}
+ {name="libkdegames";value="4.13.2";}
+ {name="libkexiv2";value="4.13.2";}
+ {name="libkipi";value="4.13.2";}
+ {name="libkmahjongg";value="4.13.2";}
+ {name="libkomparediff2";value="4.13.2";}
+ {name="libksane";value="4.13.2";}
+ {name="lokalize";value="4.13.2";}
+ {name="lskat";value="4.13.2";}
+ {name="marble";value="4.13.2";}
+ {name="mplayerthumbs";value="4.13.2";}
+ {name="nepomuk-core";value="4.13.2";}
+ {name="nepomuk-widgets";value="4.13.2";}
+ {name="okteta";value="4.13.2";}
+ {name="okular";value="4.13.2";}
+ {name="oxygen-icons";value="4.13.2";}
+ {name="pairs";value="4.13.2";}
+ {name="palapeli";value="4.13.2";}
+ {name="parley";value="4.13.2";}
+ {name="perlkde";value="4.13.2";}
+ {name="perlqt";value="4.13.2";}
+ {name="picmi";value="4.13.2";}
+ {name="poxml";value="4.13.2";}
+ {name="print-manager";value="4.13.2";}
+ {name="pykde4";value="4.13.2";}
+ {name="qtruby";value="4.13.2";}
+ {name="qyoto";value="4.13.2";}
+ {name="rocs";value="4.13.2";}
+ {name="smokegen";value="4.13.2";}
+ {name="smokekde";value="4.13.2";}
+ {name="smokeqt";value="4.13.2";}
+ {name="step";value="4.13.2";}
+ {name="superkaramba";value="4.13.2";}
+ {name="svgpart";value="4.13.2";}
+ {name="sweeper";value="4.13.2";}
+ {name="umbrello";value="4.13.2";}
+ {name="zeroconf-ioslave";value="4.13.2";}
+];
+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="baloo"; }
+ { name="baloo-widgets"; sane="baloo_widgets"; }
+ { name="kfilemetadata"; }
+ { 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="kget"; }
+ { name="kopete"; }
+ { name="kppp"; }
+ { name="krdc"; }
+ { name="krfb"; }
+ { name="zeroconf-ioslave"; sane="zeroconf_ioslave"; }
+ ];
+}
+{
+ module="kdeutils";
+ split=true;
+ pkgs=[
+ { name="ark"; }
+ { name="filelight"; }
+ { name="kcalc"; }
+ { name="kcharselect"; }
+ { name="kdf"; }
+ { name="kfloppy"; }
+ { name="kgpg"; }
+ { name="kremotecontrol"; }
+ { name="ktimer"; }
+ { name="kwalletmanager"; }
+ { 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="libkomparediff2"; }
+ { 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="artikulate"; }
+ { 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="kqtquickcharts"; }
+ { 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="styles"; }
+ { name="wallpapers"; }
+ { name="HighResolutionWallpapers"; }
+ { name="WeatherWallpapers"; }
+ { name="desktopthemes"; }
+ ];
+
+}
+{ module="kde-base-artwork"; sane="kde_base_artwork"; split=false;}
+{ module="kdelibs"; 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.13/kde-package/default.nix b/pkgs/desktops/kde-4.13/kde-package/default.nix
new file mode 100644
index 00000000000..beb475889ad
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kde-package/default.nix
@@ -0,0 +1,131 @@
+{ callPackage, runCommand, stdenv, fetchurl, qt4, cmake, automoc4
+, release, branch, 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: version: fetchurl {
+ url = "mirror://kde/" + (if manifest.stable then "" else "un")
+ + "stable/${release}/src/${name}-${version}.tar.xz";
+ sha256 = getAttr name manifest.hashes;
+ };
+
+ # Default meta attribute
+ defMeta = {
+ homepage = http://www.kde.org;
+ inherit branch;
+ platforms = stdenv.lib.platforms.linux;
+ inherit (qt4.meta) 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; v_ = getAttr name manifest.versions; in
+ a@{meta, name ? n_, version ? v_, ...}:
+ stdenv.mkDerivation ({
+ name = "${name}-${version}";
+ src = kdesrc name version;
+ 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; version_ = getAttr name manifest.versions; in
+ a@{cmakeFlags ? [], name ? name_, version ? version_, meta ? {}, ...}:
+ stdenv.mkDerivation ({
+ name = "${name}-${release}";
+ src = kdesrc module version;
+ 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.13/kde-package/kde-manifest.sh b/pkgs/desktops/kde-4.13/kde-package/kde-manifest.sh
new file mode 100755
index 00000000000..1da7bc810c3
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kde-package/kde-manifest.sh
@@ -0,0 +1,173 @@
+#! /bin/sh
+
+# Usage: download kde release to $dir, then run
+# $0 $dir
+
+dir="$1"
+
+
+if [[ -z $(type -p xsltproc) ]]; then
+ echo "Please provide libxslt" >&2
+ exit 1
+fi
+
+release=$(ls "${dir}"/kdelibs-*.tar.xz | \
+ sed -e 's/.*kdelibs-//' -e 's/\.tar\.xz//')
+
+# Detect release number & whether it is a stable release
+if [[ $? -ne 0 || -z $release ]]; then
+ echo "'${dir}' is not a directory (or kdelibs...tar.xz doesn't exist)!" >&2
+ exit 1
+fi
+
+if [[ ${release##*.} -gt 50 ]]; then
+ stable="false"
+else
+ stable="true"
+fi
+
+echo "Detected release ${release}" >&2
+
+declare -A hash
+declare -A version
+declare -A modules
+declare -a packages
+declare -a top_level
+
+if [[ ! -f ${dir}/kde_projects.xml ]]; then
+ if ! curl -o "${dir}/kde_projects.xml" -J http://projects.kde.org/kde_projects.xml; then
+ echo "Could not download http://projects.kde.org/kde_projects.xml to ${dir}/kde_projects.xml" >&2
+ exit 1
+ fi
+fi
+# xsltproc output declares -A module
+eval `xsltproc kde-submodules.xslt ${dir}/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 *.tar.xz`; do
+ package=${i%.tar.xz}
+ v=${package##*-}
+ package=${i%-*}
+ packages+=( "$package" )
+ echo -n "${package}.. " >&2
+ hash[$package]=$(nix-hash --type sha256 --flat --base32 "${dir}/${i}")
+ echo -n ${hash[$package]} >&2
+
+ version[$package]=$v
+
+ 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_pkg_version() {
+ echo " {name=\"${1}\";value=\"${version[$1]}\";}"
+}
+
+print_hashes(){
+ echo "hashes=builtins.listToAttrs["
+ for p in "${packages[@]}"; do print_pkg_hash "$p"; done
+ echo "];"
+}
+
+print_versions(){
+ echo "versions=builtins.listToAttrs["
+ for p in "${packages[@]}"; do print_pkg_version "$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
+ pkg=$(cd "$dir"; echo "$1"-*.tar.xz)
+ pkg="${pkg%.tar.xz}"
+ echo -n " split=false;"
+ cml="$pkg/CMakeLists.txt"
+ tar -xf "${dir}/$pkg.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 "$pkg"
+ 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_versions
+print_modules
+echo "}"
diff --git a/pkgs/desktops/kde-4.13/kde-package/kde-submodules.xslt b/pkgs/desktops/kde-4.13/kde-package/kde-submodules.xslt
new file mode 100644
index 00000000000..952a05a9d27
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kde-package/kde-submodules.xslt
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+ declare -A module
+
+
+
+ module["
+
+ "]="
+
+ "
+
+
+
+
+
diff --git a/pkgs/desktops/kde-4.13/kde-runtime.nix b/pkgs/desktops/kde-4.13/kde-runtime.nix
new file mode 100644
index 00000000000..1c9706f4f4b
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kde-runtime.nix
@@ -0,0 +1,24 @@
+{ kde, kdelibs, bzip2, libssh, exiv2, attica, qca2
+, libcanberra, virtuoso, samba, libjpeg, ntrack, pkgconfig, xz, pulseaudio
+, networkmanager, kactivities, kdepimlibs, openexr, ilmbase, gpgme
+}:
+
+kde {
+ buildInputs = [
+ kdelibs attica xz bzip2 libssh libjpeg exiv2 ntrack
+ qca2 samba libcanberra pulseaudio gpgme
+ networkmanager kactivities kdepimlibs openexr
+#todo: add openslp
+#todo: gpgme can't be found because cmake module is provided by kdepimlibs which are found too late
+ ];
+
+ nativeBuildInputs = [ pkgconfig ];
+
+ NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
+
+ passthru.propagatedUserEnvPackages = [ virtuoso ];
+
+ meta = {
+ license = "LGPL";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kde-wallpapers.nix b/pkgs/desktops/kde-4.13/kde-wallpapers.nix
new file mode 100644
index 00000000000..b74d38d433e
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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 = "1bhc4nrcwnlyhxff2h7v9aqvg2ipikzr5y2djfq2qnx8qk5cms37";
+
+ meta = {
+ description = "Wallpapers for KDE";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kde-workspace.nix b/pkgs/desktops/kde-4.13/kde-workspace.nix
new file mode 100644
index 00000000000..0a8c960eeae
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kde-workspace.nix
@@ -0,0 +1,38 @@
+{ kde, kdelibs, qimageblitz, libdbusmenu_qt, xorg, lm_sensors
+, pciutils, libraw1394, libusb, python, libqalculate, akonadi
+, xkeyboard_config, kdepimlibs, pam, boost, gpsd, prison
+, libjpeg, pkgconfig, kactivities, qjson, udev, fetchurl
+}:
+
+kde {
+#todo: wayland, xmms, ckconnector
+ 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 libusb 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.13/kdeaccessibility/jovie.nix b/pkgs/desktops/kde-4.13/kdeaccessibility/jovie.nix
new file mode 100644
index 00000000000..d38c80c4c36
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeaccessibility/kaccessible.nix b/pkgs/desktops/kde-4.13/kdeaccessibility/kaccessible.nix
new file mode 100644
index 00000000000..98fae7c983f
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeaccessibility/kmag.nix b/pkgs/desktops/kde-4.13/kdeaccessibility/kmag.nix
new file mode 100644
index 00000000000..606c61cddb6
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeaccessibility/kmousetool.nix b/pkgs/desktops/kde-4.13/kdeaccessibility/kmousetool.nix
new file mode 100644
index 00000000000..8e0caa76ed9
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeaccessibility/kmouth.nix b/pkgs/desktops/kde-4.13/kdeaccessibility/kmouth.nix
new file mode 100644
index 00000000000..4159501967c
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeadmin/kcron.nix b/pkgs/desktops/kde-4.13/kdeadmin/kcron.nix
new file mode 100644
index 00000000000..f585461af38
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeadmin/ksystemlog.nix b/pkgs/desktops/kde-4.13/kdeadmin/ksystemlog.nix
new file mode 100644
index 00000000000..88757a6b91c
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeadmin/kuser.nix b/pkgs/desktops/kde-4.13/kdeadmin/kuser.nix
new file mode 100644
index 00000000000..6118cf558bb
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeartwork/ColorSchemes.nix b/pkgs/desktops/kde-4.13/kdeartwork/ColorSchemes.nix
new file mode 100644
index 00000000000..acccf66976f
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeartwork/FindXscreensaver.cmake b/pkgs/desktops/kde-4.13/kdeartwork/FindXscreensaver.cmake
new file mode 100644
index 00000000000..499ed75268e
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdeartwork/FindXscreensaver.cmake
@@ -0,0 +1,73 @@
+#Macro to find xscreensaver directory
+
+# Copyright (c) 2006, Laurent Montel,
+#
+# 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.13/kdeartwork/HighResolutionWallpapers.nix b/pkgs/desktops/kde-4.13/kdeartwork/HighResolutionWallpapers.nix
new file mode 100644
index 00000000000..edffca1562e
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeartwork/IconThemes.nix b/pkgs/desktops/kde-4.13/kdeartwork/IconThemes.nix
new file mode 100644
index 00000000000..43071e8bd14
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeartwork/WeatherWallpapers.nix b/pkgs/desktops/kde-4.13/kdeartwork/WeatherWallpapers.nix
new file mode 100644
index 00000000000..947e5e17ab0
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeartwork/desktopthemes.nix b/pkgs/desktops/kde-4.13/kdeartwork/desktopthemes.nix
new file mode 100644
index 00000000000..93dd361af73
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeartwork/emoticons.nix b/pkgs/desktops/kde-4.13/kdeartwork/emoticons.nix
new file mode 100644
index 00000000000..5ef9f78a719
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeartwork/kscreensaver.nix b/pkgs/desktops/kde-4.13/kdeartwork/kscreensaver.nix
new file mode 100644
index 00000000000..6318232dd60
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdeartwork/kscreensaver.nix
@@ -0,0 +1,15 @@
+{ kde, kdelibs, xscreensaver, kde_workspace, eigen2, libkexiv2, libXt, pkgconfig }:
+
+kde {
+ buildInputs = [ kdelibs xscreensaver kde_workspace eigen2 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.13/kdeartwork/kwin-styles.nix b/pkgs/desktops/kde-4.13/kdeartwork/kwin-styles.nix
new file mode 100644
index 00000000000..b5d769b216d
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeartwork/styles.nix b/pkgs/desktops/kde-4.13/kdeartwork/styles.nix
new file mode 100644
index 00000000000..6a1306c3710
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeartwork/wallpapers.nix b/pkgs/desktops/kde-4.13/kdeartwork/wallpapers.nix
new file mode 100644
index 00000000000..7c9846fbf9e
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdebindings/perlqt.nix b/pkgs/desktops/kde-4.13/kdebindings/perlqt.nix
new file mode 100644
index 00000000000..48eed141ce6
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdebindings/pykde4.nix b/pkgs/desktops/kde-4.13/kdebindings/pykde4.nix
new file mode 100644
index 00000000000..64e196452e3
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdebindings/qtruby-install-prefix.patch b/pkgs/desktops/kde-4.13/kdebindings/qtruby-install-prefix.patch
new file mode 100644
index 00000000000..bd95a0d8bd3
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdebindings/qtruby.nix b/pkgs/desktops/kde-4.13/kdebindings/qtruby.nix
new file mode 100644
index 00000000000..03e9dc9a007
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdebindings/smokegen-CMakeLists.txt-nix.patch b/pkgs/desktops/kde-4.13/kdebindings/smokegen-CMakeLists.txt-nix.patch
new file mode 100644
index 00000000000..f0811d335a7
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdebindings/smokegen-nix.patch b/pkgs/desktops/kde-4.13/kdebindings/smokegen-nix.patch
new file mode 100644
index 00000000000..53257e836e0
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdebindings/smokegen.nix b/pkgs/desktops/kde-4.13/kdebindings/smokegen.nix
new file mode 100644
index 00000000000..a80574ff67a
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdebindings/smokekde.nix b/pkgs/desktops/kde-4.13/kdebindings/smokekde.nix
new file mode 100644
index 00000000000..4474c1d9731
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdebindings/smokeqt.nix b/pkgs/desktops/kde-4.13/kdebindings/smokeqt.nix
new file mode 100644
index 00000000000..72b267e43c5
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeedu/analitza.nix b/pkgs/desktops/kde-4.13/kdeedu/analitza.nix
new file mode 100644
index 00000000000..74c3a1ebb20
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeedu/artikulate.nix b/pkgs/desktops/kde-4.13/kdeedu/artikulate.nix
new file mode 100644
index 00000000000..3f418cc5920
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdeedu/artikulate.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs, pkgconfig, qt_gstreamer }:
+kde {
+
+ buildInputs = [ kdelibs qt_gstreamer ];
+
+ nativeBuildInputs = [ pkgconfig ];
+
+ meta = {
+ description = "Pronunciation training";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdeedu/blinken.nix b/pkgs/desktops/kde-4.13/kdeedu/blinken.nix
new file mode 100644
index 00000000000..cdf9728833c
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdeedu/blinken.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs }:
+kde {
+ buildInputs = [ kdelibs ];
+
+ meta = {
+ description = "Memory Enhancement Game";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdeedu/cantor.nix b/pkgs/desktops/kde-4.13/kdeedu/cantor.nix
new file mode 100644
index 00000000000..a8cd2e44957
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdeedu/cantor.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, libspectre, analitza, R, pkgconfig, libqalculate, python }:
+kde {
+
+# TODO: R is not found
+
+ buildInputs = [ kdelibs libspectre analitza R libqalculate python ];
+
+ nativeBuildInputs = [ pkgconfig ];
+
+ meta = {
+ description = "KDE Frontend to Mathematical Software";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdeedu/kalgebra.nix b/pkgs/desktops/kde-4.13/kdeedu/kalgebra.nix
new file mode 100644
index 00000000000..3675c3a225f
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeedu/kalzium.nix b/pkgs/desktops/kde-4.13/kdeedu/kalzium.nix
new file mode 100644
index 00000000000..8cc4c0e388c
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdeedu/kalzium.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, facile, ocaml, eigen2, openbabel, avogadro, pkgconfig }:
+kde {
+
+# TODO: chemical mime data
+
+ buildInputs = [ kdelibs facile ocaml eigen2 openbabel avogadro ];
+
+ nativeBuildInputs = [ pkgconfig ];
+
+ meta = {
+ description = "Periodic Table of Elements";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdeedu/kanagram.nix b/pkgs/desktops/kde-4.13/kdeedu/kanagram.nix
new file mode 100644
index 00000000000..8759c96d78c
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeedu/kbruch.nix b/pkgs/desktops/kde-4.13/kdeedu/kbruch.nix
new file mode 100644
index 00000000000..dc50f1e85a3
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdeedu/kbruch.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs }:
+kde {
+ buildInputs = [ kdelibs ];
+
+ meta = {
+ description = "Practice Fractions";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdeedu/kgeography.nix b/pkgs/desktops/kde-4.13/kdeedu/kgeography.nix
new file mode 100644
index 00000000000..bd8d27c8d6e
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdeedu/kgeography.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs }:
+kde {
+ buildInputs = [ kdelibs ];
+
+ meta = {
+ description = "Geography Trainer";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdeedu/khangman.nix b/pkgs/desktops/kde-4.13/kdeedu/khangman.nix
new file mode 100644
index 00000000000..997b50e906a
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeedu/kig.nix b/pkgs/desktops/kde-4.13/kdeedu/kig.nix
new file mode 100644
index 00000000000..37906c32bcb
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdeedu/kig.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, boost, python}:
+kde {
+ buildInputs = [ kdelibs boost python ];
+
+ cmakeFlags = "-DKIG_ENABLE_PYTHON_SCRIPTING=1";
+ meta = {
+ description = "KDE Interactive Geometry";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdeedu/kiten.nix b/pkgs/desktops/kde-4.13/kdeedu/kiten.nix
new file mode 100644
index 00000000000..939b7a9f77a
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeedu/klettres.nix b/pkgs/desktops/kde-4.13/kdeedu/klettres.nix
new file mode 100644
index 00000000000..7a0fa83078e
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeedu/kmplot.nix b/pkgs/desktops/kde-4.13/kdeedu/kmplot.nix
new file mode 100644
index 00000000000..fc7b0578c27
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdeedu/kmplot.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+ buildInputs = [ kdelibs ];
+
+ meta = {
+ description = "A KDE mathematical function plotter";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdeedu/kqtquickcharts.nix b/pkgs/desktops/kde-4.13/kdeedu/kqtquickcharts.nix
new file mode 100644
index 00000000000..04925c75e6f
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdeedu/kqtquickcharts.nix
@@ -0,0 +1,8 @@
+{ kde, kdelibs, libkdeedu }:
+kde {
+ buildInputs = [ kdelibs libkdeedu ];
+
+ meta = {
+ description = "KDE Qt Quick Charts";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdeedu/kstars.nix b/pkgs/desktops/kde-4.13/kdeedu/kstars.nix
new file mode 100644
index 00000000000..6192fb3faf9
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdeedu/kstars.nix
@@ -0,0 +1,14 @@
+{ kde, kdelibs, eigen2, xplanet, indilib, pkgconfig }:
+
+kde {
+
+# TODO: wcslib, astrometry
+
+ buildInputs = [ kdelibs eigen2 xplanet indilib ];
+
+ nativeBuildInputs = [ pkgconfig ];
+
+ meta = {
+ description = "A KDE graphical desktop planetarium";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdeedu/ktouch.nix b/pkgs/desktops/kde-4.13/kdeedu/ktouch.nix
new file mode 100644
index 00000000000..9e606adde33
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeedu/kturtle.nix b/pkgs/desktops/kde-4.13/kdeedu/kturtle.nix
new file mode 100644
index 00000000000..1e1922b1410
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdeedu/kturtle.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+ buildInputs = [ kdelibs ];
+
+ meta = {
+ description = "Educational Programming Environment";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdeedu/kwordquiz.nix b/pkgs/desktops/kde-4.13/kdeedu/kwordquiz.nix
new file mode 100644
index 00000000000..1b33ba2e469
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeedu/libkdeedu.nix b/pkgs/desktops/kde-4.13/kdeedu/libkdeedu.nix
new file mode 100644
index 00000000000..def6c85fefe
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeedu/marble.nix b/pkgs/desktops/kde-4.13/kdeedu/marble.nix
new file mode 100644
index 00000000000..2dc07d14a0d
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeedu/pairs.nix b/pkgs/desktops/kde-4.13/kdeedu/pairs.nix
new file mode 100644
index 00000000000..36c4aba9604
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeedu/parley.nix b/pkgs/desktops/kde-4.13/kdeedu/parley.nix
new file mode 100644
index 00000000000..f9f86dde150
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeedu/rocs.nix b/pkgs/desktops/kde-4.13/kdeedu/rocs.nix
new file mode 100644
index 00000000000..ce30d11fda3
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeedu/step.nix b/pkgs/desktops/kde-4.13/kdeedu/step.nix
new file mode 100644
index 00000000000..95e991e8481
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdeedu/step.nix
@@ -0,0 +1,12 @@
+{ kde, kdelibs, gsl, libqalculate, eigen2, pkgconfig }:
+
+kde {
+
+ buildInputs = [ kdelibs gsl libqalculate eigen2 ];
+
+ nativeBuildInputs = [ pkgconfig ];
+
+ meta = {
+ description = "A KDE interactive physical simulator";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdegames/bomber.nix b/pkgs/desktops/kde-4.13/kdegames/bomber.nix
new file mode 100644
index 00000000000..026227910f2
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/bovo.nix b/pkgs/desktops/kde-4.13/kdegames/bovo.nix
new file mode 100644
index 00000000000..b0e7d99c589
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/granatier.nix b/pkgs/desktops/kde-4.13/kdegames/granatier.nix
new file mode 100644
index 00000000000..9f1ab005309
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kajongg.nix b/pkgs/desktops/kde-4.13/kdegames/kajongg.nix
new file mode 100644
index 00000000000..9a6f5e83695
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kapman.nix b/pkgs/desktops/kde-4.13/kdegames/kapman.nix
new file mode 100644
index 00000000000..f10e099da3c
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/katomic.nix b/pkgs/desktops/kde-4.13/kdegames/katomic.nix
new file mode 100644
index 00000000000..a9936c04f0e
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kblackbox.nix b/pkgs/desktops/kde-4.13/kdegames/kblackbox.nix
new file mode 100644
index 00000000000..27eeff2f65b
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kblocks.nix b/pkgs/desktops/kde-4.13/kdegames/kblocks.nix
new file mode 100644
index 00000000000..98cf068de09
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kbounce.nix b/pkgs/desktops/kde-4.13/kdegames/kbounce.nix
new file mode 100644
index 00000000000..77fa0db6352
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kbreakout.nix b/pkgs/desktops/kde-4.13/kdegames/kbreakout.nix
new file mode 100644
index 00000000000..3a484d919bb
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kdiamond.nix b/pkgs/desktops/kde-4.13/kdegames/kdiamond.nix
new file mode 100644
index 00000000000..06dfcee5ac3
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kfourinline.nix b/pkgs/desktops/kde-4.13/kdegames/kfourinline.nix
new file mode 100644
index 00000000000..11b8838e708
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kgoldrunner.nix b/pkgs/desktops/kde-4.13/kdegames/kgoldrunner.nix
new file mode 100644
index 00000000000..6217c47a806
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kigo.nix b/pkgs/desktops/kde-4.13/kdegames/kigo.nix
new file mode 100644
index 00000000000..32eee67cc1e
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/killbots.nix b/pkgs/desktops/kde-4.13/kdegames/killbots.nix
new file mode 100644
index 00000000000..d9c1472495e
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kiriki.nix b/pkgs/desktops/kde-4.13/kdegames/kiriki.nix
new file mode 100644
index 00000000000..72f7ab67501
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kjumpingcube.nix b/pkgs/desktops/kde-4.13/kdegames/kjumpingcube.nix
new file mode 100644
index 00000000000..a6d22cff51c
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/klickety.nix b/pkgs/desktops/kde-4.13/kdegames/klickety.nix
new file mode 100644
index 00000000000..b592bc40641
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/klines.nix b/pkgs/desktops/kde-4.13/kdegames/klines.nix
new file mode 100644
index 00000000000..90952fe91c0
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kmahjongg.nix b/pkgs/desktops/kde-4.13/kdegames/kmahjongg.nix
new file mode 100644
index 00000000000..946b531ff12
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kmines.nix b/pkgs/desktops/kde-4.13/kdegames/kmines.nix
new file mode 100644
index 00000000000..538454e9598
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/knavalbattle.nix b/pkgs/desktops/kde-4.13/kdegames/knavalbattle.nix
new file mode 100644
index 00000000000..42ffd2fcb4d
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/knetwalk.nix b/pkgs/desktops/kde-4.13/kdegames/knetwalk.nix
new file mode 100644
index 00000000000..a16e578ce84
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kolf.nix b/pkgs/desktops/kde-4.13/kdegames/kolf.nix
new file mode 100644
index 00000000000..78815ee5799
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kollision.nix b/pkgs/desktops/kde-4.13/kdegames/kollision.nix
new file mode 100644
index 00000000000..3147c7305ea
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/konquest.nix b/pkgs/desktops/kde-4.13/kdegames/konquest.nix
new file mode 100644
index 00000000000..53ddd64928c
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kpat.nix b/pkgs/desktops/kde-4.13/kdegames/kpat.nix
new file mode 100644
index 00000000000..f8d9bad36dc
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kreversi.nix b/pkgs/desktops/kde-4.13/kdegames/kreversi.nix
new file mode 100644
index 00000000000..2aed981428e
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kshisen.nix b/pkgs/desktops/kde-4.13/kdegames/kshisen.nix
new file mode 100644
index 00000000000..9c888034038
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/ksirk.nix b/pkgs/desktops/kde-4.13/kdegames/ksirk.nix
new file mode 100644
index 00000000000..767eb67971a
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/ksnakeduel.nix b/pkgs/desktops/kde-4.13/kdegames/ksnakeduel.nix
new file mode 100644
index 00000000000..ccf1fb551e9
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kspaceduel.nix b/pkgs/desktops/kde-4.13/kdegames/kspaceduel.nix
new file mode 100644
index 00000000000..5285f7916ca
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/ksquares.nix b/pkgs/desktops/kde-4.13/kdegames/ksquares.nix
new file mode 100644
index 00000000000..a17be2da632
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/ksudoku.nix b/pkgs/desktops/kde-4.13/kdegames/ksudoku.nix
new file mode 100644
index 00000000000..ea4e13a5e4f
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/ktuberling.nix b/pkgs/desktops/kde-4.13/kdegames/ktuberling.nix
new file mode 100644
index 00000000000..1a6ba9d653c
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/kubrick.nix b/pkgs/desktops/kde-4.13/kdegames/kubrick.nix
new file mode 100644
index 00000000000..9bdc6879db4
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/libkdegames.nix b/pkgs/desktops/kde-4.13/kdegames/libkdegames.nix
new file mode 100644
index 00000000000..3819dcdc9ae
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/libkmahjongg.nix b/pkgs/desktops/kde-4.13/kdegames/libkmahjongg.nix
new file mode 100644
index 00000000000..383b347dc33
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/lskat.nix b/pkgs/desktops/kde-4.13/kdegames/lskat.nix
new file mode 100644
index 00000000000..2a5050cd667
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/palapeli.nix b/pkgs/desktops/kde-4.13/kdegames/palapeli.nix
new file mode 100644
index 00000000000..010dbd5d623
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegames/picmi.nix b/pkgs/desktops/kde-4.13/kdegames/picmi.nix
new file mode 100644
index 00000000000..165d7422f95
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegraphics/gwenview.nix b/pkgs/desktops/kde-4.13/kdegraphics/gwenview.nix
new file mode 100644
index 00000000000..b6fd701ac12
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegraphics/kamera.nix b/pkgs/desktops/kde-4.13/kdegraphics/kamera.nix
new file mode 100644
index 00000000000..70904b17c23
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegraphics/kcolorchooser.nix b/pkgs/desktops/kde-4.13/kdegraphics/kcolorchooser.nix
new file mode 100644
index 00000000000..58528cb186b
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegraphics/kdegraphics-mobipocket.nix b/pkgs/desktops/kde-4.13/kdegraphics/kdegraphics-mobipocket.nix
new file mode 100644
index 00000000000..2c2ba3796a2
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegraphics/kdegraphics-strigi-analyzer.nix b/pkgs/desktops/kde-4.13/kdegraphics/kdegraphics-strigi-analyzer.nix
new file mode 100644
index 00000000000..35af39aa611
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegraphics/kdegraphics-thumbnailers.nix b/pkgs/desktops/kde-4.13/kdegraphics/kdegraphics-thumbnailers.nix
new file mode 100644
index 00000000000..18c6534eb5c
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegraphics/kgamma.nix b/pkgs/desktops/kde-4.13/kdegraphics/kgamma.nix
new file mode 100644
index 00000000000..28d9252187e
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegraphics/kolourpaint.nix b/pkgs/desktops/kde-4.13/kdegraphics/kolourpaint.nix
new file mode 100644
index 00000000000..5276ec09f46
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegraphics/kruler.nix b/pkgs/desktops/kde-4.13/kdegraphics/kruler.nix
new file mode 100644
index 00000000000..c5c2c6e05d7
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegraphics/ksaneplugin.nix b/pkgs/desktops/kde-4.13/kdegraphics/ksaneplugin.nix
new file mode 100644
index 00000000000..1381ed7dd26
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegraphics/ksnapshot.nix b/pkgs/desktops/kde-4.13/kdegraphics/ksnapshot.nix
new file mode 100644
index 00000000000..f01a609e20d
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegraphics/libkdcraw.nix b/pkgs/desktops/kde-4.13/kdegraphics/libkdcraw.nix
new file mode 100644
index 00000000000..e7c01f98a8c
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdegraphics/libkdcraw.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, pkgconfig, libraw, lcms2 }:
+
+kde {
+
+ buildInputs = [ kdelibs libraw lcms2 ];
+
+ nativeBuildInputs = [ pkgconfig ];
+
+ meta = {
+ description = "Library for decoding RAW images";
+ license = "GPLv2";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdegraphics/libkexiv2.nix b/pkgs/desktops/kde-4.13/kdegraphics/libkexiv2.nix
new file mode 100644
index 00000000000..096b0a6e957
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegraphics/libkipi.nix b/pkgs/desktops/kde-4.13/kdegraphics/libkipi.nix
new file mode 100644
index 00000000000..6b16265e7a3
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegraphics/libksane.nix b/pkgs/desktops/kde-4.13/kdegraphics/libksane.nix
new file mode 100644
index 00000000000..b539eab3899
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdegraphics/okular.nix b/pkgs/desktops/kde-4.13/kdegraphics/okular.nix
new file mode 100644
index 00000000000..aca1691eace
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdegraphics/okular.nix
@@ -0,0 +1,17 @@
+{ chmlib, djvulibre, ebook_tools, kde, kdelibs, libspectre, popplerQt4, qca2
+, qimageblitz, libtiff, kactivities, pkgconfig, libkexiv2 }:
+
+kde {
+
+# TODO: package activeapp, qmobipocket
+
+ buildInputs = [ kdelibs chmlib djvulibre ebook_tools libspectre popplerQt4
+ qca2 qimageblitz libtiff kactivities libkexiv2 ];
+
+ nativeBuildInputs = [ pkgconfig ];
+
+ meta = {
+ description = "Okular, the KDE document viewer";
+ license = "GPLv2";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdegraphics/svgpart.nix b/pkgs/desktops/kde-4.13/kdegraphics/svgpart.nix
new file mode 100644
index 00000000000..a344cc4b4b4
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdelibs/baloo-widgets.nix b/pkgs/desktops/kde-4.13/kdelibs/baloo-widgets.nix
new file mode 100644
index 00000000000..b71c7bd1b6e
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdelibs/baloo-widgets.nix
@@ -0,0 +1,11 @@
+{ kde, kdelibs, baloo, kfilemetadata }:
+
+kde {
+
+ buildInputs = [ kdelibs baloo kfilemetadata ];
+
+ meta = {
+ description = "Baloo Widgets";
+ license = "GPLv2";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdelibs/baloo.nix b/pkgs/desktops/kde-4.13/kdelibs/baloo.nix
new file mode 100644
index 00000000000..ef627e38607
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdelibs/baloo.nix
@@ -0,0 +1,15 @@
+{ kde, pkgconfig, kdepimlibs, xapian, kfilemetadata, boost, akonadi, qjson }:
+
+kde {
+
+ buildInputs = [
+ kdepimlibs xapian kfilemetadata boost akonadi qjson
+ ];
+
+ nativeBuildInputs = [ pkgconfig ];
+
+ meta = {
+ description = "Baloo file searcher";
+ license = "GPLv2";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdelibs/kdelibs.nix b/pkgs/desktops/kde-4.13/kdelibs/kdelibs.nix
new file mode 100644
index 00000000000..396adf9ba75
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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, attr, libXtst
+, udev, herqq, phonon, libjpeg, xz, ilmbase, libxslt
+, pkgconfig
+}:
+
+kde {
+
+# TODO: media-player-info
+
+ 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
+ libXtst attr
+ ];
+
+ 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 ];
+
+ cmakeFlags = [
+ "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook"
+ "-DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook"
+ "-DHUPNP_ENABLED=ON"
+ "-DWITH_SOLID_UDISKS2=ON"
+ ];
+
+ passthru.wantsUdisks2 = true;
+
+ meta = {
+ description = "KDE libraries";
+ license = "LGPL";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdelibs/kfilemetadata.nix b/pkgs/desktops/kde-4.13/kdelibs/kfilemetadata.nix
new file mode 100644
index 00000000000..f8420a33a45
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdelibs/kfilemetadata.nix
@@ -0,0 +1,12 @@
+{ kde, kdelibs, ffmpeg, popplerQt4, exiv2, taglib }:
+
+kde {
+
+ # todo: qmobipocket, epub
+ buildInputs = [ kdelibs ffmpeg popplerQt4 exiv2 taglib ];
+
+ meta = {
+ description = "KDE file metadata something";
+ license = "GPLv2";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdelibs/nepomuk-core.nix b/pkgs/desktops/kde-4.13/kdelibs/nepomuk-core.nix
new file mode 100644
index 00000000000..7e29eebf3b7
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdelibs/nepomuk-core.nix
@@ -0,0 +1,20 @@
+{ kde, kdelibs, soprano, shared_desktop_ontologies, exiv2, ffmpeg, taglib, popplerQt4
+, pkgconfig, doxygen, ebook_tools
+}:
+
+kde {
+
+# TODO: qmobipocket
+
+ 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.13/kdelibs/nepomuk-widgets.nix b/pkgs/desktops/kde-4.13/kdelibs/nepomuk-widgets.nix
new file mode 100644
index 00000000000..0d29a4f97de
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdemultimedia/audiocd-kio.nix b/pkgs/desktops/kde-4.13/kdemultimedia/audiocd-kio.nix
new file mode 100644
index 00000000000..4c56e7529dd
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdemultimedia/dragon.nix b/pkgs/desktops/kde-4.13/kdemultimedia/dragon.nix
new file mode 100644
index 00000000000..006300742ec
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdemultimedia/ffmpegthumbs.nix b/pkgs/desktops/kde-4.13/kdemultimedia/ffmpegthumbs.nix
new file mode 100644
index 00000000000..45f6c9abcb6
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdemultimedia/juk.nix b/pkgs/desktops/kde-4.13/kdemultimedia/juk.nix
new file mode 100644
index 00000000000..5d7b1db224e
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdemultimedia/kmix.nix b/pkgs/desktops/kde-4.13/kdemultimedia/kmix.nix
new file mode 100644
index 00000000000..1dd8108166f
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdemultimedia/kscd.nix b/pkgs/desktops/kde-4.13/kdemultimedia/kscd.nix
new file mode 100644
index 00000000000..e99ae53935b
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdemultimedia/libkcddb.nix b/pkgs/desktops/kde-4.13/kdemultimedia/libkcddb.nix
new file mode 100644
index 00000000000..720b01d1861
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdemultimedia/libkcompactdisc.nix b/pkgs/desktops/kde-4.13/kdemultimedia/libkcompactdisc.nix
new file mode 100644
index 00000000000..6ed08af89f3
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdemultimedia/mplayerthumbs.nix b/pkgs/desktops/kde-4.13/kdemultimedia/mplayerthumbs.nix
new file mode 100644
index 00000000000..c88ebcc2a5a
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdenetwork/kdenetwork-filesharing.nix b/pkgs/desktops/kde-4.13/kdenetwork/kdenetwork-filesharing.nix
new file mode 100644
index 00000000000..0330511a258
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdenetwork/kdenetwork-strigi-analyzers.nix b/pkgs/desktops/kde-4.13/kdenetwork/kdenetwork-strigi-analyzers.nix
new file mode 100644
index 00000000000..e838d84fc5e
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdenetwork/kget.nix b/pkgs/desktops/kde-4.13/kdenetwork/kget.nix
new file mode 100644
index 00000000000..f986da2de21
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdenetwork/kopete.nix b/pkgs/desktops/kde-4.13/kdenetwork/kopete.nix
new file mode 100644
index 00000000000..7d8aec21ce6
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdenetwork/kopete.nix
@@ -0,0 +1,26 @@
+{ kde, kdelibs, libmsn, libotr, kdepimlibs, qimageblitz, libktorrent,
+ jasper, libidn, mediastreamer, pkgconfig, libxslt, giflib,
+ libgadu, boost, qca2, sqlite, jsoncpp,
+ ortp, srtp, libv4l }:
+
+kde {
+
+# TODO: libmeanwhile, xmms, jsoncpp(not found), kleopatra(from kdepim but doesn't install headers?),
+
+ buildInputs = [
+ kdelibs qca2 mediastreamer libgadu jsoncpp
+ kdepimlibs qimageblitz sqlite jasper libotr libmsn giflib
+ libidn libxslt boost
+ 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.13/kdenetwork/kppp.nix b/pkgs/desktops/kde-4.13/kdenetwork/kppp.nix
new file mode 100644
index 00000000000..4c6bd65769f
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdenetwork/krdc.nix b/pkgs/desktops/kde-4.13/kdenetwork/krdc.nix
new file mode 100644
index 00000000000..80557e827fe
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdenetwork/krfb.nix b/pkgs/desktops/kde-4.13/kdenetwork/krfb.nix
new file mode 100644
index 00000000000..cb4857965a3
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdenetwork/zeroconf-ioslave.nix b/pkgs/desktops/kde-4.13/kdenetwork/zeroconf-ioslave.nix
new file mode 100644
index 00000000000..f65960cc337
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdenetwork/zeroconf-ioslave.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.13/kdepim-runtime.nix b/pkgs/desktops/kde-4.13/kdepim-runtime.nix
new file mode 100644
index 00000000000..d92e2254820
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdepim-runtime.nix
@@ -0,0 +1,16 @@
+{ kde, libxslt, boost, kdepimlibs, akonadi, shared_desktop_ontologies }:
+
+kde {
+
+# TODO: libkgapi(2), 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.13/kdepim.nix b/pkgs/desktops/kde-4.13/kdepim.nix
new file mode 100644
index 00000000000..4f364648d23
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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, qjson
+, pkgconfig }:
+
+kde {
+
+# TODO: LinkGrammar
+
+ buildInputs =
+ [ kdepimlibs boost shared_desktop_ontologies akonadi nepomuk_widgets
+ libxslt cyrus_sasl gpgme libassuan grantlee prison kactivities
+ libXScrnSaver qjson
+ ];
+
+ 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.13/kdepimlibs.nix b/pkgs/desktops/kde-4.13/kdepimlibs.nix
new file mode 100644
index 00000000000..ca0af9400b1
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeplasma-addons.nix b/pkgs/desktops/kde-4.13/kdeplasma-addons.nix
new file mode 100644
index 00000000000..1c7a71a5c64
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdeplasma-addons.nix
@@ -0,0 +1,23 @@
+{ kde, kdelibs, marble, shared_desktop_ontologies, pkgconfig
+, boost, eigen2, kde_workspace, attica, qca2, qimageblitz
+, kdepimlibs, libkexiv2, libqalculate, libXtst, libdbusmenu_qt
+, qjson, qoauth, ibus }:
+
+kde {
+
+# TODO: qwt, scim
+
+ KDEDIRS=marble;
+
+ buildInputs = [ kdelibs boost kde_workspace kdepimlibs attica qjson qoauth
+ eigen2 qca2 libXtst qimageblitz libqalculate ibus
+ shared_desktop_ontologies marble libkexiv2 libdbusmenu_qt
+ ];
+
+ nativeBuildInputs = [ pkgconfig ];
+
+ meta = {
+ description = "KDE Plasma Addons";
+ license = "GPL";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdesdk/cervisia.nix b/pkgs/desktops/kde-4.13/kdesdk/cervisia.nix
new file mode 100644
index 00000000000..1dabe46cd42
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdesdk/dolphin-plugins.nix b/pkgs/desktops/kde-4.13/kdesdk/dolphin-plugins.nix
new file mode 100644
index 00000000000..ad8132a850e
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdesdk/kapptemplate.nix b/pkgs/desktops/kde-4.13/kdesdk/kapptemplate.nix
new file mode 100644
index 00000000000..391536248dd
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdesdk/kcachegrind.nix b/pkgs/desktops/kde-4.13/kdesdk/kcachegrind.nix
new file mode 100644
index 00000000000..65d410cca48
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdesdk/kde-dev-scripts.nix b/pkgs/desktops/kde-4.13/kdesdk/kde-dev-scripts.nix
new file mode 100644
index 00000000000..df81145e5d6
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdesdk/kde-dev-utils.nix b/pkgs/desktops/kde-4.13/kdesdk/kde-dev-utils.nix
new file mode 100644
index 00000000000..215c0a3c613
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdesdk/kdesdk-kioslaves.nix b/pkgs/desktops/kde-4.13/kdesdk/kdesdk-kioslaves.nix
new file mode 100644
index 00000000000..98bbce35a97
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdesdk/kdesdk-strigi-analyzers.nix b/pkgs/desktops/kde-4.13/kdesdk/kdesdk-strigi-analyzers.nix
new file mode 100644
index 00000000000..4d579b88ba8
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdesdk/kdesdk-thumbnailers.nix b/pkgs/desktops/kde-4.13/kdesdk/kdesdk-thumbnailers.nix
new file mode 100644
index 00000000000..d707fe9038f
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdesdk/kompare.nix b/pkgs/desktops/kde-4.13/kdesdk/kompare.nix
new file mode 100644
index 00000000000..644c7c48dc9
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdesdk/kompare.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs, libkomparediff2 }:
+
+kde {
+ buildInputs = [ kdelibs libkomparediff2 ];
+
+ meta = {
+ description = "A program to view the differences between files and optionally generate a diff";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdesdk/libkomparediff2.nix b/pkgs/desktops/kde-4.13/kdesdk/libkomparediff2.nix
new file mode 100644
index 00000000000..5933682c70a
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdesdk/libkomparediff2.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+ buildInputs = [ kdelibs ];
+
+ meta = {
+ description = "A library to compare files and strings";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdesdk/lokalize.nix b/pkgs/desktops/kde-4.13/kdesdk/lokalize.nix
new file mode 100644
index 00000000000..1565426eb1f
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdesdk/okteta.nix b/pkgs/desktops/kde-4.13/kdesdk/okteta.nix
new file mode 100644
index 00000000000..058636596ad
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdesdk/poxml.nix b/pkgs/desktops/kde-4.13/kdesdk/poxml.nix
new file mode 100644
index 00000000000..6e46c3e3ab4
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdesdk/umbrello.nix b/pkgs/desktops/kde-4.13/kdesdk/umbrello.nix
new file mode 100644
index 00000000000..e83a2d9a901
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdetoys/amor.nix b/pkgs/desktops/kde-4.13/kdetoys/amor.nix
new file mode 100644
index 00000000000..936d63d544a
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdetoys/kteatime.nix b/pkgs/desktops/kde-4.13/kdetoys/kteatime.nix
new file mode 100644
index 00000000000..dacf54def4b
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdetoys/ktux.nix b/pkgs/desktops/kde-4.13/kdetoys/ktux.nix
new file mode 100644
index 00000000000..108f9be7c72
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeutils/ark.nix b/pkgs/desktops/kde-4.13/kdeutils/ark.nix
new file mode 100644
index 00000000000..99844b909fd
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdeutils/ark.nix
@@ -0,0 +1,17 @@
+{ makeWrapper, kde, kdelibs, libarchive, bzip2, kde_baseapps, lzma, qjson
+, unzip }:
+
+kde {
+ buildInputs = [
+ makeWrapper kdelibs kde_baseapps libarchive bzip2 lzma qjson
+ ];
+
+ postInstall = ''
+ wrapProgram $out/bin/ark \
+ --prefix PATH ":" "${unzip}/bin"
+ '';
+
+ meta = {
+ description = "KDE Archiving Tool";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdeutils/filelight.nix b/pkgs/desktops/kde-4.13/kdeutils/filelight.nix
new file mode 100644
index 00000000000..25ecabed27c
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeutils/kcalc.nix b/pkgs/desktops/kde-4.13/kdeutils/kcalc.nix
new file mode 100644
index 00000000000..08b202e8f0e
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeutils/kcharselect.nix b/pkgs/desktops/kde-4.13/kdeutils/kcharselect.nix
new file mode 100644
index 00000000000..d4c9c06f483
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeutils/kdf.nix b/pkgs/desktops/kde-4.13/kdeutils/kdf.nix
new file mode 100644
index 00000000000..3f9da58d0a6
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeutils/kfloppy.nix b/pkgs/desktops/kde-4.13/kdeutils/kfloppy.nix
new file mode 100644
index 00000000000..2434a4fa671
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeutils/kgpg.nix b/pkgs/desktops/kde-4.13/kdeutils/kgpg.nix
new file mode 100644
index 00000000000..3ff1a286ae5
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdeutils/kgpg.nix
@@ -0,0 +1,10 @@
+{ kde, kdelibs, kdepimlibs, boost }:
+
+kde {
+
+ buildInputs = [ kdelibs kdepimlibs boost ];
+
+ meta = {
+ description = "Simple KDE GUI for GPG";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdeutils/kremotecontrol.nix b/pkgs/desktops/kde-4.13/kdeutils/kremotecontrol.nix
new file mode 100644
index 00000000000..70311a789f9
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeutils/ktimer.nix b/pkgs/desktops/kde-4.13/kdeutils/ktimer.nix
new file mode 100644
index 00000000000..5700977349e
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdeutils/ktimer.nix
@@ -0,0 +1,9 @@
+{ kde, kdelibs }:
+
+kde {
+ buildInputs = [ kdelibs ];
+
+ meta = {
+ description = "KDE Timer";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdeutils/kwalletmanager.nix b/pkgs/desktops/kde-4.13/kdeutils/kwalletmanager.nix
new file mode 100644
index 00000000000..9ec0e6c0396
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdeutils/kwalletmanager.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.13/kdeutils/print-manager.nix b/pkgs/desktops/kde-4.13/kdeutils/print-manager.nix
new file mode 100644
index 00000000000..ae72becd1e4
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeutils/superkaramba.nix b/pkgs/desktops/kde-4.13/kdeutils/superkaramba.nix
new file mode 100644
index 00000000000..cbe7a285606
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdeutils/sweeper.nix b/pkgs/desktops/kde-4.13/kdeutils/sweeper.nix
new file mode 100644
index 00000000000..78d56c7df30
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdewebdev/kfilereplace.nix b/pkgs/desktops/kde-4.13/kdewebdev/kfilereplace.nix
new file mode 100644
index 00000000000..55e37809e07
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdewebdev/kimagemapeditor.nix b/pkgs/desktops/kde-4.13/kdewebdev/kimagemapeditor.nix
new file mode 100644
index 00000000000..6d22f72461f
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/kdewebdev/klinkstatus.nix b/pkgs/desktops/kde-4.13/kdewebdev/klinkstatus.nix
new file mode 100644
index 00000000000..918512e2b2d
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/kdewebdev/klinkstatus.nix
@@ -0,0 +1,13 @@
+{ kde, kdelibs, libxml2, libxslt, kdepimlibs, htmlTidy, boost }:
+
+kde {
+
+# todo: ruby19 is not found by the build system. not linking against ruby18 due to it being too old
+
+ buildInputs = [ kdelibs kdepimlibs htmlTidy boost ];
+
+ meta = {
+ description = "A KDE link checker";
+ homepage = http://klinkstatus.kdewebdev.org;
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/kdewebdev/kommander.nix b/pkgs/desktops/kde-4.13/kdewebdev/kommander.nix
new file mode 100644
index 00000000000..d5f4337f714
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/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.13/l10n/default.nix b/pkgs/desktops/kde-4.13/l10n/default.nix
new file mode 100644
index 00000000000..fa6406043b1
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/l10n/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, kdelibs, gettext, release, branch, 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}";
+ inherit branch;
+ license = "GPL";
+ platforms = stdenv.lib.platforms.linux;
+ inherit (kdelibs.meta) maintainers 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.13/l10n/l10n-manifest.sh b/pkgs/desktops/kde-4.13/l10n/l10n-manifest.sh
new file mode 100755
index 00000000000..5eb97638bf4
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/l10n/l10n-manifest.sh
@@ -0,0 +1,33 @@
+#!/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}")
+ nix-store --add-fixed sha256 "${dir}/${i}" >&2
+ 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.13/l10n/manifest-4.13.2.nix b/pkgs/desktops/kde-4.13/l10n/manifest-4.13.2.nix
new file mode 100644
index 00000000000..c3cab65fbb0
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/l10n/manifest-4.13.2.nix
@@ -0,0 +1,267 @@
+[
+{
+ lang = "ar";
+ saneName = "ar";
+ sha256 = "0hlaflf11h5j7lgklxvvmdjdd2bj6hdb65iszdlprz8i9y4xckaq";
+}
+{
+ lang = "bg";
+ saneName = "bg";
+ sha256 = "11r7m5c3qpsqgy92y0g3gkrvdzjp0bdpn4pb2ypqbcvqr2s10iz4";
+}
+{
+ lang = "bs";
+ saneName = "bs";
+ sha256 = "08j09rc0jhx8z4a5640902sbq1b4j2nj7054w9nlf20gbd2162qj";
+}
+{
+ lang = "ca";
+ saneName = "ca";
+ sha256 = "0bjwq3b0n4phyjxw5my40d77vqdff307smf5arsmnxdykk03wvyg";
+}
+{
+ lang = "ca@valencia";
+ saneName = "ca_valencia";
+ sha256 = "19acbawjl1qpvavw381n9b5vd0if4vs3xrnwcdn3cafd518s4agl";
+}
+{
+ lang = "cs";
+ saneName = "cs";
+ sha256 = "0vy6vx8kj2lwr4rf5m6y1b4p47m6yrizsrp9zrjryh73w122w8lj";
+}
+{
+ lang = "da";
+ saneName = "da";
+ sha256 = "1vqk5g78ngzl5c1clha05vjzl91j7gn2d6f2lgz0l2vim2abms56";
+}
+{
+ lang = "de";
+ saneName = "de";
+ sha256 = "0jyarxxkg67mbyd62c0c1vkhg0g3px01bsirmjaf8s3qb0vadpx8";
+}
+{
+ lang = "el";
+ saneName = "el";
+ sha256 = "05ksirpq0np9nzlnknfk92ab7hnvc2izbxxa92ccraq493v58sjw";
+}
+{
+ lang = "en_GB";
+ saneName = "en_GB";
+ sha256 = "1qzyp08rv73ij0kcyvwp592hi83v407adyhkd4xihygwxdq9kk0k";
+}
+{
+ lang = "es";
+ saneName = "es";
+ sha256 = "04qnv32wargq7nn12kzz0gvh5i64h6rnmcly3rn15nr02rvjhkp1";
+}
+{
+ lang = "et";
+ saneName = "et";
+ sha256 = "0v1i163g7wjy4n3w3y85dgnivd25zn2p6zrk7h6ksynqqv2lcvyj";
+}
+{
+ lang = "eu";
+ saneName = "eu";
+ sha256 = "1l6rv8pbg0wcvxfgpw13lkwk3h3b0skxj7fp6629ln977nm80jf9";
+}
+{
+ lang = "fi";
+ saneName = "fi";
+ sha256 = "1hrj2rif8pbfjj5cq50b6prgd4dy3z5wqibqpa9m7nfvqvhzd6lw";
+}
+{
+ lang = "fr";
+ saneName = "fr";
+ sha256 = "0w5pcbv3kdssrd3dybcp3grjlwl5sglyshf1427ydd3690n3cz42";
+}
+{
+ lang = "ga";
+ saneName = "ga";
+ sha256 = "0249lkc52vs0hfjg8x86sjn3zk42m8c8zi14y90vjd1w1aikscwl";
+}
+{
+ lang = "gl";
+ saneName = "gl";
+ sha256 = "1h7m4wsh6b80gmn2miyjz84r5ydph8dnfj3kg3gvj0i365w4grd0";
+}
+{
+ lang = "he";
+ saneName = "he";
+ sha256 = "17acm31gskf5psrsg6vbnpkznsz82c0k0k68gi986c9n4hwi39r3";
+}
+{
+ lang = "hi";
+ saneName = "hi";
+ sha256 = "13swbmzav0ffvq231dxbgjjyscybwlmwhs70hxs2zlrvjiq2jka4";
+}
+{
+ lang = "hr";
+ saneName = "hr";
+ sha256 = "1ycc0sbic9b2sa50f70qhvb02q7hi41drrhkksacbc9963hplzpg";
+}
+{
+ lang = "hu";
+ saneName = "hu";
+ sha256 = "1qsr5l6bfrid7dk30m720f6nc3yaa5z69f77w1133x344nig532s";
+}
+{
+ lang = "ia";
+ saneName = "ia";
+ sha256 = "1hcpk2nzljcd3z0dni05w0ykjsij5pnzmlmh8b6gpkn1w2pbd6xy";
+}
+{
+ lang = "id";
+ saneName = "id";
+ sha256 = "0iazqsc72q2hdggfimwqzk1m071ygvmhvx5bskqyyd7z34mc60s7";
+}
+{
+ lang = "is";
+ saneName = "is";
+ sha256 = "0rjcpw5s94x51fz7qnscy2d826rcr0df3gs8n05y8f7ajqzzrkjh";
+}
+{
+ lang = "it";
+ saneName = "it";
+ sha256 = "1vyf5kq2ki3j44qqslav0arahbpadl0a0d7611zm2b60qh6d57wn";
+}
+{
+ lang = "ja";
+ saneName = "ja";
+ sha256 = "0l4n45lx85if8v5yq2j854lmymv9aibichpdc7ilsw8z54rgr942";
+}
+{
+ lang = "kk";
+ saneName = "kk";
+ sha256 = "1c1cb1x1kgzalmfmk2pv9x0as50grq6lpms8m55baaxymvm9k6d2";
+}
+{
+ lang = "km";
+ saneName = "km";
+ sha256 = "14gmnb4im6dhcqhr4ira3zmy0asgv1l1k4nqfrw1skkg4j94bvn6";
+}
+{
+ lang = "ko";
+ saneName = "ko";
+ sha256 = "0n5z9w86g1davyldpbl5xxp9n4zbfyl73fsr8y57xf19p9f6h0v4";
+}
+{
+ lang = "lt";
+ saneName = "lt";
+ sha256 = "1m79bh4z2hxzacbfbbddsyx6cwsqjj9b74in8cr5sqg41si8sd6c";
+}
+{
+ lang = "lv";
+ saneName = "lv";
+ sha256 = "0nzbn4qvkgk4b10xq1i10cjvkard1qp37a0vlzw9b0sbphd21zsr";
+}
+{
+ lang = "mr";
+ saneName = "mr";
+ sha256 = "0jncd61c0z72v1m4j6kps2bm19d59hdczvdlnk4yw13v0s83404p";
+}
+{
+ lang = "nb";
+ saneName = "nb";
+ sha256 = "1fyhg5qj6z2vdbk7wrsr1sspgj01wk3rsv708xb640klmsxi86wp";
+}
+{
+ lang = "nds";
+ saneName = "nds";
+ sha256 = "1gzcbk4kdcwrwnhl5fs43hv0gi5v7ajd8yhzk87s6ri58qf1sgxs";
+}
+{
+ lang = "nl";
+ saneName = "nl";
+ sha256 = "1rn5c3v2p68ai6x03li7k48lygqykdxpmwm2cpnggp4l67f1nwqp";
+}
+{
+ lang = "nn";
+ saneName = "nn";
+ sha256 = "11n4kpfw0hf72m5h4aiv3pi0b6v4h0m0czziqsv3caxvg2fsawg0";
+}
+{
+ lang = "pa";
+ saneName = "pa";
+ sha256 = "0nhpiqww84sc2mxqghk9dsxyqff2p3a1ipd6g495a2qrj6iyl448";
+}
+{
+ lang = "pl";
+ saneName = "pl";
+ sha256 = "0wpjmz0k7rxh6b9dxgkay2n7nzlp95vlrkwszshmpgksp52j2m3v";
+}
+{
+ lang = "pt";
+ saneName = "pt";
+ sha256 = "06l2am1hfk2bbbwggvig062nllf0kn67fzwq5lrrqcbj3c7pigic";
+}
+{
+ lang = "pt_BR";
+ saneName = "pt_BR";
+ sha256 = "07i449awjcz40wna2016zamkgiq09b74j037y4557p9czws756nb";
+}
+{
+ lang = "ro";
+ saneName = "ro";
+ sha256 = "1mdz7j3scbi0b75dxx3zyvnf3c9qqs975y7xijk2xscybk3dbcpl";
+}
+{
+ lang = "ru";
+ saneName = "ru";
+ sha256 = "1dhb2f8f5ypz74xf6vjzsmg3mp95plisf7nr7kcia1q62xm2cpsl";
+}
+{
+ lang = "sk";
+ saneName = "sk";
+ sha256 = "0cqcf4b3550yal9ldhyhdhwig9qj73q1hhgbh9656xzadx1z0i3q";
+}
+{
+ lang = "sl";
+ saneName = "sl";
+ sha256 = "1jkw8yzigbdvhv03s9j7xfnwiy22xf3hdk7hrsnp8q571692v5ik";
+}
+{
+ lang = "sr";
+ saneName = "sr";
+ sha256 = "0py22ysfrv54bipjdilcw719hvsksxirri6j810gvwi53pici5mn";
+}
+{
+ lang = "sv";
+ saneName = "sv";
+ sha256 = "118yfgqjp6q7q5kfn961bx8daqv02bp2q1fhdfksyh7d6zl5g1xr";
+}
+{
+ lang = "tr";
+ saneName = "tr";
+ sha256 = "1yy9j7rlcjsms7yh3iif9yr2vx2m4i8z7p42p9k86403vzsim674";
+}
+{
+ lang = "ug";
+ saneName = "ug";
+ sha256 = "00295fxgahhsssdprhv06jnrdc9759bfazs1fdzmfz274zbc590b";
+}
+{
+ lang = "uk";
+ saneName = "uk";
+ sha256 = "1j2phacx2lsax8ibsbpp13ixykcrxbnj5r2l2w141hzccl6afjw6";
+}
+{
+ lang = "vi";
+ saneName = "vi";
+ sha256 = "0han6vsrcabr6yzll39jqpkms1sfxjabyppb7vvb5safakdpp2fd";
+}
+{
+ lang = "wa";
+ saneName = "wa";
+ sha256 = "09235scll21ic4rv13wrcy8wlibnipmxmhmdipk3d4sl5h5ygdli";
+}
+{
+ lang = "zh_CN";
+ saneName = "zh_CN";
+ sha256 = "1afdx9b62hbkg1lg6lpmwjkmypz92jdlhch82010xkyfzv5m17gd";
+}
+{
+ lang = "zh_TW";
+ saneName = "zh_TW";
+ sha256 = "1pf6jjxgw62lzj9i38l4bzb4lip9cwlyy1vz9pbnznj5ic8whz3g";
+}
+]
diff --git a/pkgs/desktops/kde-4.13/oxygen-icons.nix b/pkgs/desktops/kde-4.13/oxygen-icons.nix
new file mode 100644
index 00000000000..f8b638d3f46
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/oxygen-icons.nix
@@ -0,0 +1,15 @@
+{ kde, cmake }:
+
+kde {
+ outputHashAlgo = "sha256";
+ outputHashMode = "recursive";
+ outputHash = "0lgpy1x844wq7dgd61v15byh5nnbqhfih5ps8bypa7hm7spkfi9l";
+
+ nativeBuildInputs = [ cmake ];
+
+ meta = {
+ description = "KDE Oxygen theme icons";
+ longDescription = "Icons for KDE's default theme";
+ license = "GPL";
+ };
+}
diff --git a/pkgs/desktops/kde-4.13/support/akonadi/default.nix b/pkgs/desktops/kde-4.13/support/akonadi/default.nix
new file mode 100644
index 00000000000..30840ae1d77
--- /dev/null
+++ b/pkgs/desktops/kde-4.13/support/akonadi/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, cmake, qt4, shared_mime_info, libxslt, boost, automoc4, soprano
+, sqlite, mysql, pkgconfig }:
+
+stdenv.mkDerivation rec {
+ name = "akonadi-1.12.1";
+
+ src = fetchurl {
+ url = "mirror://kde/stable/akonadi/src/${name}.tar.bz2";
+ sha256 = "0i9iv3lsqhkb51d4xnn6xaimignw8i64nbgkda1wznwbva7j4wx0";
+ };
+
+ buildInputs = [ qt4 soprano libxslt boost sqlite mysql ];
+
+ nativeBuildInputs = [ cmake automoc4 shared_mime_info pkgconfig ];
+
+ enableParallelBuilding = true;
+
+ meta = with stdenv.lib; {
+ description = "KDE PIM Storage Service";
+ license = "LGPL";
+ homepage = http://pim.kde.org/akonadi;
+ maintainers = with maintainers; [ sander urkud phreedom wmertens ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index af563f266cd..4fa512fd9e4 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -10390,7 +10390,7 @@ let
kde4 = recurseIntoAttrs pkgs.kde412;
- kde4_next = recurseIntoAttrs( lib.lowPrioSet pkgs.kde412 );
+ kde4_next = recurseIntoAttrs( lib.lowPrioSet pkgs.kde413 );
kde412 = kdePackagesFor (pkgs.kde412 // {
eigen = eigen2;
@@ -10398,6 +10398,10 @@ let
libcanberra = libcanberra_kde;
}) ../desktops/kde-4.12;
+ kde413 = kdePackagesFor (pkgs.kde413 // {
+ libcanberra = libcanberra_kde;
+ }) ../desktops/kde-4.13;
+
kdePackagesFor = self: dir:
let callPackageOrig = callPackage; in
let
@@ -10433,7 +10437,8 @@ let
k3b = callPackage ../applications/misc/k3b { };
- kadu = callPackage ../applications/networking/instant-messengers/kadu { };
+ # Broken phonon
+ #kadu = callPackage ../applications/networking/instant-messengers/kadu { };
kbibtex = callPackage ../applications/office/kbibtex { };