summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorShea Levy <shea@shealevy.com>2013-03-24 07:45:00 -0400
committerShea Levy <shea@shealevy.com>2013-03-24 07:45:00 -0400
commit4fa4ab3a6ef91c2cd52065ba1c7816f2d4ceefc3 (patch)
tree9ba4a2c3ffcee27f93accfb9115bd44bf49a0a2c /pkgs
parentf8fb55b4cc2809dc02c9ca392802716d78d5f4c3 (diff)
downloadnixpkgs-4fa4ab3a6ef91c2cd52065ba1c7816f2d4ceefc3.tar
nixpkgs-4fa4ab3a6ef91c2cd52065ba1c7816f2d4ceefc3.tar.gz
nixpkgs-4fa4ab3a6ef91c2cd52065ba1c7816f2d4ceefc3.tar.bz2
nixpkgs-4fa4ab3a6ef91c2cd52065ba1c7816f2d4ceefc3.tar.lz
nixpkgs-4fa4ab3a6ef91c2cd52065ba1c7816f2d4ceefc3.tar.xz
nixpkgs-4fa4ab3a6ef91c2cd52065ba1c7816f2d4ceefc3.tar.zst
nixpkgs-4fa4ab3a6ef91c2cd52065ba1c7816f2d4ceefc3.zip
Partially revert my recent kernelPackages changes
First, pass in `self' again so that overriding works properly (thanks
for pointing that out, @edolstra)

Second, instead of having linuxPackages*.kernel mean something different
inside the set and out, add a new attribute linuxPackages*.kernelDev,
which for the generic kernel is simply linuxPackages*.kernel but for the
manual-config kernel is the `dev' output (which has the build tree,
source tree, etc.)

The second change required trivial modifications in a bunch of
expressions, I verified that all of the linuxPackages* sets defined in
all-packages.nix have the same drv paths before and after the change.

Signed-off-by: Shea Levy <shea@shealevy.com>
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix8
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix8
-rw-r--r--pkgs/os-specific/linux/acpi-call/default.nix10
-rw-r--r--pkgs/os-specific/linux/atheros/0.9.4.nix6
-rw-r--r--pkgs/os-specific/linux/ati-drivers/default.nix8
-rw-r--r--pkgs/os-specific/linux/aufs-util/2.nix6
-rw-r--r--pkgs/os-specific/linux/aufs-util/3.nix6
-rw-r--r--pkgs/os-specific/linux/aufs/2.nix14
-rw-r--r--pkgs/os-specific/linux/aufs/3.nix14
-rw-r--r--pkgs/os-specific/linux/bbswitch/default.nix12
-rw-r--r--pkgs/os-specific/linux/blcr/default.nix12
-rw-r--r--pkgs/os-specific/linux/broadcom-sta/default.nix10
-rw-r--r--pkgs/os-specific/linux/cryptodev/default.nix8
-rw-r--r--pkgs/os-specific/linux/e1000e/default.nix10
-rw-r--r--pkgs/os-specific/linux/exmap/default.nix8
-rw-r--r--pkgs/os-specific/linux/frandom/default.nix10
-rw-r--r--pkgs/os-specific/linux/iscsitarget/default.nix6
-rw-r--r--pkgs/os-specific/linux/iwlwifi/default.nix10
-rw-r--r--pkgs/os-specific/linux/kernel/perf.nix6
-rw-r--r--pkgs/os-specific/linux/klibc/default.nix12
-rw-r--r--pkgs/os-specific/linux/kqemu/default.nix8
-rw-r--r--pkgs/os-specific/linux/ndiswrapper/default.nix8
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix6
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/legacy173.nix8
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/legacy304.nix6
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/legacy96.nix8
-rw-r--r--pkgs/os-specific/linux/open-iscsi/default.nix6
-rw-r--r--pkgs/os-specific/linux/spl/default.nix12
-rw-r--r--pkgs/os-specific/linux/tp_smapi/default.nix12
-rw-r--r--pkgs/os-specific/linux/v86d/default.nix6
-rw-r--r--pkgs/os-specific/linux/wis-go7007/default.nix10
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix14
-rw-r--r--pkgs/servers/openafs-client/default.nix6
-rw-r--r--pkgs/top-level/all-packages.nix159
34 files changed, 228 insertions, 225 deletions
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index bf19ecd99ca..d385d431fa3 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, lib, iasl, dev86, pam, libxslt, libxml2, libX11, xproto, libXext
-, libXcursor, libXmu, qt4, libIDL, SDL, libcap, zlib, libpng, glib, kernel, lvm2
+, libXcursor, libXmu, qt4, libIDL, SDL, libcap, zlib, libpng, glib, kernelDev, lvm2
 , which, alsaLib, curl, gawk
 , xorriso, makeself, perl, pkgconfig
 , javaBindings ? false, jdk ? null
@@ -40,7 +40,7 @@ let
   };
 
 in stdenv.mkDerivation {
-  name = "virtualbox-${version}-${kernel.version}";
+  name = "virtualbox-${version}-${kernelDev.version}";
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
@@ -49,7 +49,7 @@ in stdenv.mkDerivation {
 
   buildInputs =
     [ iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt4 libIDL SDL
-      libcap glib kernel lvm2 python alsaLib curl pam xorriso makeself perl
+      libcap glib kernelDev lvm2 python alsaLib curl pam xorriso makeself perl
       pkgconfig which libXmu ]
     ++ optional javaBindings jdk
     ++ optional pythonBindings python;
@@ -61,7 +61,7 @@ in stdenv.mkDerivation {
 
   prePatch = ''
     set -x
-    MODULES_BUILD_DIR=`echo ${kernel}/lib/modules/*/build`
+    MODULES_BUILD_DIR=`echo ${kernelDev}/lib/modules/*/build`
     sed -e 's@/lib/modules/`uname -r`/build@'$MODULES_BUILD_DIR@ \
         -e 's@MKISOFS --version@MKISOFS -version@' \
         -e 's@PYTHONDIR=.*@PYTHONDIR=${if pythonBindings then python else ""}@' \
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index f648cb3c737..20ef5c66997 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchurl, lib, patchelf, cdrkit, kernel, which, makeWrapper
+{ stdenv, fetchurl, lib, patchelf, cdrkit, kernelDev, which, makeWrapper
 , libX11, libXt, libXext, libXmu, libXcomposite, libXfixes, libXrandr, libXcursor
 , dbus }:
 
 let version = "4.2.8"; in
 
 stdenv.mkDerivation {
-  name = "VirtualBox-GuestAdditions-${version}-${kernel.version}";
+  name = "VirtualBox-GuestAdditions-${version}-${kernelDev.version}";
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
     sha256 = "04a5402d8dcdefc83ffb2785351ddc57758781a3759137974469189392ae4ad5";
   };
 
-  KERN_DIR = "${kernel}/lib/modules/*/build";
+  KERN_DIR = "${kernelDev}/lib/modules/*/build";
 
   buildInputs = [ patchelf cdrkit makeWrapper dbus ];
 
@@ -112,7 +112,7 @@ stdenv.mkDerivation {
     for i in *
     do
         cd $i
-        kernelVersion=$(cd ${kernel}/lib/modules; ls)
+        kernelVersion=$(cd ${kernelDev}/lib/modules; ls)
         export MODULE_DIR=$out/lib/modules/$kernelVersion/misc
         find . -type f | xargs sed -i -e "s|-o root||g" \
                                       -e "s|-g root||g"
diff --git a/pkgs/os-specific/linux/acpi-call/default.nix b/pkgs/os-specific/linux/acpi-call/default.nix
index 0689663832e..43902aded67 100644
--- a/pkgs/os-specific/linux/acpi-call/default.nix
+++ b/pkgs/os-specific/linux/acpi-call/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchgit, kernel }:
+{ stdenv, fetchgit, kernelDev }:
 
 stdenv.mkDerivation {
-  name = "acpi-call-${kernel.version}";
+  name = "acpi-call-${kernelDev.version}";
 
   src = fetchgit {
     url = "git://github.com/mkottman/acpi_call.git";
@@ -12,12 +12,12 @@ stdenv.mkDerivation {
   preBuild = ''
     sed -e 's/break/true/' -i test_off.sh
     sed -e 's@/bin/bash@.bin/sh@' -i test_off.sh
-    sed -e "s@/lib/modules/\$(.*)@${kernel}/lib/modules/${kernel.modDirVersion}@" -i Makefile
+    sed -e "s@/lib/modules/\$(.*)@${kernelDev}/lib/modules/${kernelDev.modDirVersion}@" -i Makefile
   '';
  
   installPhase = ''
-    mkdir -p $out/lib/modules/${kernel.modDirVersion}/misc
-    cp acpi_call.ko $out/lib/modules/${kernel.modDirVersion}/misc
+    mkdir -p $out/lib/modules/${kernelDev.modDirVersion}/misc
+    cp acpi_call.ko $out/lib/modules/${kernelDev.modDirVersion}/misc
     mkdir -p $out/bin
     cp test_off.sh $out/bin/test_discrete_video_off.sh
     chmod a+x $out/bin/test_discrete_video_off.sh
diff --git a/pkgs/os-specific/linux/atheros/0.9.4.nix b/pkgs/os-specific/linux/atheros/0.9.4.nix
index 87470da9649..341bdc3f1bb 100644
--- a/pkgs/os-specific/linux/atheros/0.9.4.nix
+++ b/pkgs/os-specific/linux/atheros/0.9.4.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, builderDefs, kernel }:
+{ stdenv, fetchurl, builderDefs, kernelDev }:
 	let localDefs = builderDefs.passthru.function {
 		src = /* put a fetchurl here */
 		fetchurl {
@@ -8,7 +8,7 @@
 
 		buildInputs = [];
 		configureFlags = [];
-		makeFlags = [''KERNELPATH=${kernel}/lib/modules/*/build'' ''DESTDIR=$out''];
+		makeFlags = [''KERNELPATH=${kernelDev}/lib/modules/*/build'' ''DESTDIR=$out''];
 	};
 	in with localDefs;
 let 
@@ -17,7 +17,7 @@ postInstall = fullDepEntry (''
 '') [minInit doMakeInstall];
 in
 stdenv.mkDerivation rec {
-	name = "atheros-0.9.4-${kernel.version}";
+	name = "atheros-0.9.4-${kernelDev.version}";
 	builder = writeScript (name + "-builder")
 		(textClosure localDefs [doMakeInstall 
 			postInstall doForceShare doPropagate]);
diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix
index c30d18fe75b..ff508deed12 100644
--- a/pkgs/os-specific/linux/ati-drivers/default.nix
+++ b/pkgs/os-specific/linux/ati-drivers/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, kernel, xlibs, which, imake
+{ stdenv, fetchurl, kernelDev, xlibs, which, imake
 , mesa # for fgl_glxgears
 , libXxf86vm, xf86vidmodeproto # for fglrx_gamma
 , xorg, makeWrapper, glibc, patchelf
@@ -23,7 +23,7 @@
 assert stdenv.system == "x86_64-linux";
 
 stdenv.mkDerivation rec {
-  name = "ati-drivers-${version}-${kernel.version}";
+  name = "ati-drivers-${version}-${kernelDev.version}";
   version = "10-11-x86";
 
   builder = ./builder.sh;
@@ -46,7 +46,9 @@ stdenv.mkDerivation rec {
       unzip
     ];
 
-  inherit kernel glibc /* glibc only used for setting interpreter */;
+  kernel = kernelDev;
+
+  inherit glibc /* glibc only used for setting interpreter */;
 
   LD_LIBRARY_PATH = stdenv.lib.concatStringsSep ":"
     [ "${xorg.libXrandr}/lib"
diff --git a/pkgs/os-specific/linux/aufs-util/2.nix b/pkgs/os-specific/linux/aufs-util/2.nix
index 501dcbf4b94..130cfd85ee7 100644
--- a/pkgs/os-specific/linux/aufs-util/2.nix
+++ b/pkgs/os-specific/linux/aufs-util/2.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, kernel, aufs }:
+{ stdenv, fetchurl, kernelDev, aufs }:
 
 assert aufs != null;
 
 let version = "20100506"; in
 
 stdenv.mkDerivation {
-  name = "aufs2-util-${version}-${kernel.version}";
+  name = "aufs2-util-${version}-${kernelDev.version}";
 
   src = fetchurl {
     url = "http://nixos.org/tarballs/aufs2-util-git-${version}.tar.bz2";
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   buildInputs = [ aufs ];
 
   makeFlags =
-    [ "KDIR=${kernel}/lib/modules/${kernel.version}/build"
+    [ "KDIR=${kernelDev}/lib/modules/${kernelDev.version}/build"
       "Install=install"
       "DESTDIR=$(out)"
     ];
diff --git a/pkgs/os-specific/linux/aufs-util/3.nix b/pkgs/os-specific/linux/aufs-util/3.nix
index d75f51d38c9..9997c2743a5 100644
--- a/pkgs/os-specific/linux/aufs-util/3.nix
+++ b/pkgs/os-specific/linux/aufs-util/3.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchgit, kernel, aufs }:
+{ stdenv, fetchgit, kernelDev, aufs }:
 
 assert aufs != null;
 
 stdenv.mkDerivation {
-  name = "aufs3-util-${aufs.patch.version}-${kernel.version}";
+  name = "aufs3-util-${aufs.patch.version}-${kernelDev.version}";
 
   src = fetchgit {
     url = git://aufs.git.sourceforge.net/gitroot/aufs/aufs-util.git;
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   buildInputs = [ aufs ];
 
   makeFlags =
-    [ "KDIR=${kernel}/lib/modules/${kernel.modDirVersion}/build"
+    [ "KDIR=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build"
       "Install=install"
       "DESTDIR=$(out)"
     ];
diff --git a/pkgs/os-specific/linux/aufs/2.nix b/pkgs/os-specific/linux/aufs/2.nix
index 4d80ddae0b8..87d16c113a5 100644
--- a/pkgs/os-specific/linux/aufs/2.nix
+++ b/pkgs/os-specific/linux/aufs/2.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, kernel, perl, fetchgit }:
+{ stdenv, fetchurl, kernelDev, perl, fetchgit }:
 
-assert kernel.features ? aufsBase;
+assert kernelDev.features ? aufsBase;
 
 let version = "20100522"; in
 
 stdenv.mkDerivation {
-  name = "aufs2-${version}-${kernel.version}";
+  name = "aufs2-${version}-${kernelDev.version}";
 
   src = 
-  if (builtins.lessThan (builtins.compareVersions kernel.version "2.6.35") 0) then
+  if (builtins.lessThan (builtins.compareVersions kernelDev.version "2.6.35") 0) then
     fetchurl {
       url = "http://nixos.org/tarballs/aufs2-standalone-git-${version}.tar.bz2";
       sha256 = "1g4mw4qx2xzpygdwjiw36bkhfz1hi7wxx7w79n2h0lr5grzzdnd6";
@@ -22,12 +22,12 @@ stdenv.mkDerivation {
 
   buildInputs = [ perl ];
 
-  makeFlags = "KDIR=${kernel}/lib/modules/${kernel.version}/build";
+  makeFlags = "KDIR=${kernelDev}/lib/modules/${kernelDev.version}/build";
 
   installPhase =
     ''
-      mkdir -p $out/lib/modules/${kernel.version}/misc
-      cp aufs.ko $out/lib/modules/${kernel.version}/misc
+      mkdir -p $out/lib/modules/${kernelDev.version}/misc
+      cp aufs.ko $out/lib/modules/${kernelDev.version}/misc
 
       # Install the headers because aufs2-util requires them.
       cp -prvd include $out/
diff --git a/pkgs/os-specific/linux/aufs/3.nix b/pkgs/os-specific/linux/aufs/3.nix
index 255804a31de..2f566d3abff 100644
--- a/pkgs/os-specific/linux/aufs/3.nix
+++ b/pkgs/os-specific/linux/aufs/3.nix
@@ -1,4 +1,4 @@
-{ stdenv, kernel, perl }:
+{ stdenv, kernelDev, perl }:
 
 let
 
@@ -7,25 +7,25 @@ let
       (if x.features ? aufs3 then x.features.aufs3 else false)
     else false;
   featureAbort = abort "This kernel does not have aufs 3 support";
-  patch = stdenv.lib.findFirst aufsPredicate featureAbort kernel.kernelPatches;
+  patch = stdenv.lib.findFirst aufsPredicate featureAbort kernelDev.kernelPatches;
 
 in
 
 stdenv.mkDerivation {
-  name = "aufs3-${patch.version}-${kernel.version}";
+  name = "aufs3-${patch.version}-${kernelDev.version}";
 
   src = patch.patch.src;
 
   buildInputs = [ perl ];
 
-  makeFlags = "KDIR=${kernel}/lib/modules/${kernel.modDirVersion}/build";
+  makeFlags = "KDIR=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build";
 
-  NIX_CFLAGS_COMPILE="-I${kernel}/lib/modules/${kernel.modDirVersion}/build/include/generated";
+  NIX_CFLAGS_COMPILE="-I${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build/include/generated";
 
   installPhase =
     ''
-      mkdir -p $out/lib/modules/${kernel.modDirVersion}/misc
-      cp -v aufs.ko $out/lib/modules/${kernel.modDirVersion}/misc
+      mkdir -p $out/lib/modules/${kernelDev.modDirVersion}/misc
+      cp -v aufs.ko $out/lib/modules/${kernelDev.modDirVersion}/misc
 
       # Install the headers because aufs3-util requires them.
       mkdir -p $out/include/linux
diff --git a/pkgs/os-specific/linux/bbswitch/default.nix b/pkgs/os-specific/linux/bbswitch/default.nix
index bdfa6f5da6f..692ec0df5bd 100644
--- a/pkgs/os-specific/linux/bbswitch/default.nix
+++ b/pkgs/os-specific/linux/bbswitch/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, kernel }:
+{ stdenv, fetchurl, kernelDev }:
 
 let
   baseName = "bbswitch";
   version = "0.6";
-  name = "${baseName}-${version}-${kernel.version}";
+  name = "${baseName}-${version}-${kernelDev.version}";
 
 in
 
@@ -17,13 +17,13 @@ stdenv.mkDerivation {
 
   preBuild = ''
     substituteInPlace Makefile \
-      --replace "\$(shell uname -r)" "${kernel.modDirVersion}" \
-      --replace "/lib/modules" "${kernel}/lib/modules"
+      --replace "\$(shell uname -r)" "${kernelDev.modDirVersion}" \
+      --replace "/lib/modules" "${kernelDev}/lib/modules"
   '';
 
   installPhase = ''
-    ensureDir $out/lib/modules/${kernel.modDirVersion}/misc
-    cp bbswitch.ko $out/lib/modules/${kernel.modDirVersion}/misc
+    ensureDir $out/lib/modules/${kernelDev.modDirVersion}/misc
+    cp bbswitch.ko $out/lib/modules/${kernelDev.modDirVersion}/misc
 
     ensureDir $out/bin
     tee $out/bin/discrete_vga_poweroff << EOF
diff --git a/pkgs/os-specific/linux/blcr/default.nix b/pkgs/os-specific/linux/blcr/default.nix
index 9c2821d7776..d0d81abb244 100644
--- a/pkgs/os-specific/linux/blcr/default.nix
+++ b/pkgs/os-specific/linux/blcr/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, kernel, perl, makeWrapper }:
+{ stdenv, fetchurl, kernelDev, perl, makeWrapper }:
 
 # BLCR 0.8.4 works for kernel version up to 2.6.38 (including 2.6.38.x)
 # BLCR 0.8.5 should works for kernel version up to 3.7.1
 
 assert stdenv.isLinux;
-assert builtins.compareVersions "3.7.2" kernel.version == 1;
+assert builtins.compareVersions "3.7.2" kernelDev.version == 1;
 
 stdenv.mkDerivation {
-  name = "blcr_${kernel.version}-0.8.5";
+  name = "blcr_${kernelDev.version}-0.8.5";
 
   src = fetchurl {
     url = http://crd.lbl.gov/assets/Uploads/FTG/Projects/CheckpointRestart/downloads/blcr-0.8.5.tar.gz;
@@ -18,9 +18,9 @@ stdenv.mkDerivation {
 
   preConfigure = ''
     configureFlagsArray=(
-      --with-linux=${kernel}/lib/modules/${kernel.modDirVersion}/build
-      --with-kmod-dir=$out/lib/modules/${kernel.modDirVersion}
-      --with-system-map=${kernel}/System.map
+      --with-linux=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build
+      --with-kmod-dir=$out/lib/modules/${kernelDev.modDirVersion}
+      --with-system-map=${kernelDev}/System.map
     )
   '';
 
diff --git a/pkgs/os-specific/linux/broadcom-sta/default.nix b/pkgs/os-specific/linux/broadcom-sta/default.nix
index 041141cdad2..43ba9dfc2b5 100644
--- a/pkgs/os-specific/linux/broadcom-sta/default.nix
+++ b/pkgs/os-specific/linux/broadcom-sta/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, kernel }:
+{ stdenv, fetchurl, kernelDev }:
 
 let version = "5_100_82_112";
     bits = if stdenv.system == "i686-linux" then "32" else
@@ -6,7 +6,7 @@ let version = "5_100_82_112";
 in
 
 stdenv.mkDerivation {
-  name = "broadcom-sta-${version}-${kernel.version}";
+  name = "broadcom-sta-${version}-${kernelDev.version}";
 
   src = fetchurl {
     url = "http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_${bits}-v${version}.tar.gz";
@@ -15,13 +15,13 @@ stdenv.mkDerivation {
       else "1qsarnry10f5m8a73wbr9cg2ifs00sqg6x0ay59l72vl9hb2zlww";
   };
 
-  buildInputs = [ kernel ];
+  buildInputs = [ kernelDev ];
   patches =
     [ ./makefile.patch ./linux-2.6.39.patch ./linux-3.2.patch
       ./linux-3.4.patch ./license.patch
     ];
 
-  makeFlags = "KDIR=${kernel}/lib/modules/${kernel.modDirVersion}/build";
+  makeFlags = "KDIR=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build";
 
   unpackPhase =
     ''
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
 
   installPhase =
     ''
-      binDir="$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
+      binDir="$out/lib/modules/${kernelDev.modDirVersion}/kernel/net/wireless/"
       docDir="$out/share/doc/broadcom-sta/"
       mkdir -p "$binDir" "$docDir"
       cp wl.ko "$binDir"
diff --git a/pkgs/os-specific/linux/cryptodev/default.nix b/pkgs/os-specific/linux/cryptodev/default.nix
index b9e5690e80e..e80256f7299 100644
--- a/pkgs/os-specific/linux/cryptodev/default.nix
+++ b/pkgs/os-specific/linux/cryptodev/default.nix
@@ -1,8 +1,8 @@
-{ fetchurl, stdenv, kernel, onlyHeaders ? false }:
+{ fetchurl, stdenv, kernelDev, onlyHeaders ? false }:
 
 stdenv.mkDerivation rec {
   pname = "cryptodev-linux-1.5";
-  name = "${pname}-${kernel.version}";
+  name = "${pname}-${kernelDev.version}";
 
   src = fetchurl {
     url = "http://download.gna.org/cryptodev-linux/${pname}.tar.gz";
@@ -10,12 +10,12 @@ stdenv.mkDerivation rec {
   };
 
   buildPhase = if !onlyHeaders then ''
-    make -C ${kernel}/lib/modules/${kernel.modDirVersion}/build \
+    make -C ${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build \
       SUBDIRS=`pwd` INSTALL_PATH=$out
   '' else ":";
 
   installPhase = stdenv.lib.optionalString (!onlyHeaders) ''
-    make -C ${kernel}/lib/modules/${kernel.modDirVersion}/build \
+    make -C ${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build \
       INSTALL_MOD_PATH=$out SUBDIRS=`pwd` modules_install
   '' + ''
     mkdir -p $out/include/crypto
diff --git a/pkgs/os-specific/linux/e1000e/default.nix b/pkgs/os-specific/linux/e1000e/default.nix
index 709befd9dc5..8d1320afc68 100644
--- a/pkgs/os-specific/linux/e1000e/default.nix
+++ b/pkgs/os-specific/linux/e1000e/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchurl, kernel }:
+{ stdenv, fetchurl, kernelDev }:
 
 stdenv.mkDerivation {
-  name = "e1000e-1.5.1-${kernel.version}";
+  name = "e1000e-1.5.1-${kernelDev.version}";
 
   src = fetchurl {
     url = "http://downloads.sourceforge.net/e1000/e1000e-1.5.1.tar.gz";
     sha256 = "0nzjlarpqcpm5y112n3vzra4qv32hiygpfkk10y8g4nln4adhqsw";
   };
 
-  buildInputs = [ kernel ];
+  buildInputs = [ kernelDev ];
 
   configurePhase = ''
     cd src
-    kernel_version=$( cd ${kernel}/lib/modules && echo * )
-    sed -i -e 's|/lib/modules|${kernel}/lib/modules|' Makefile
+    kernel_version=$( cd ${kernelDev}/lib/modules && echo * )
+    sed -i -e 's|/lib/modules|${kernelDev}/lib/modules|' Makefile
     export makeFlags="BUILD_KERNEL=$kernel_version"
   '';
 
diff --git a/pkgs/os-specific/linux/exmap/default.nix b/pkgs/os-specific/linux/exmap/default.nix
index c39b2acf4e1..1b372ca3dbf 100644
--- a/pkgs/os-specific/linux/exmap/default.nix
+++ b/pkgs/os-specific/linux/exmap/default.nix
@@ -1,7 +1,7 @@
-{ fetchurl, stdenv, kernel, pkgconfig, gtkmm, boost, pcre }:
+{ fetchurl, stdenv, kernelDev, pkgconfig, gtkmm, boost, pcre }:
 
 stdenv.mkDerivation rec {
-  name = "exmap-0.10-${kernel.version}";
+  name = "exmap-0.10-${kernelDev.version}";
 
   src = fetchurl {
     url = "http://www.berthels.co.uk/exmap/download/${name}.tgz";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   patchPhase = ''
     substituteInPlace "kernel/Makefile" \
       --replace '/lib/modules/$(shell uname -r)/build' \
-                ${kernel}/lib/modules/*/build
+                ${kernelDev}/lib/modules/*/build
 
     # The `proc_root' variable (the root of `/proc') is no longer exported
     # since 2.6.26.  Fortunately, one can pass `NULL' instead of `&proc_root'.
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     substituteInPlace "src/Makefile" --replace "-Werror" ""
   '';
 
-  buildInputs = [ kernel pkgconfig gtkmm boost pcre ];
+  buildInputs = [ kernelDev pkgconfig gtkmm boost pcre ];
 
   buildPhase = "make build";
 
diff --git a/pkgs/os-specific/linux/frandom/default.nix b/pkgs/os-specific/linux/frandom/default.nix
index 7894e86ded9..10876e96fc8 100644
--- a/pkgs/os-specific/linux/frandom/default.nix
+++ b/pkgs/os-specific/linux/frandom/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, kernel }:
+{ stdenv, fetchurl, kernelDev }:
 
 let baseName = "frandom-1.1";
 in
 
 stdenv.mkDerivation rec {
-  name = "${baseName}-${kernel.version}";
+  name = "${baseName}-${kernelDev.version}";
 
   src = fetchurl {
     url = "http://sourceforge.net/projects/frandom/files/${baseName}.tar.gz";
@@ -12,14 +12,14 @@ stdenv.mkDerivation rec {
   };
 
   preBuild = ''
-    kernelVersion=$(cd ${kernel}/lib/modules && ls)
+    kernelVersion=$(cd ${kernelDev}/lib/modules && ls)
     substituteInPlace Makefile \
       --replace "\$(shell uname -r)" "$kernelVersion" \
-      --replace "/lib/modules" "${kernel}/lib/modules"
+      --replace "/lib/modules" "${kernelDev}/lib/modules"
   '';
  
   installPhase = ''
-    kernelVersion=$(cd ${kernel}/lib/modules && ls)
+    kernelVersion=$(cd ${kernelDev}/lib/modules && ls)
     ensureDir $out/lib/modules/$kernelVersion/misc
     cp frandom.ko $out/lib/modules/$kernelVersion/misc
 
diff --git a/pkgs/os-specific/linux/iscsitarget/default.nix b/pkgs/os-specific/linux/iscsitarget/default.nix
index 214fae01cfc..e07409aa08d 100644
--- a/pkgs/os-specific/linux/iscsitarget/default.nix
+++ b/pkgs/os-specific/linux/iscsitarget/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, kernel, module_init_tools}:
+{ stdenv, fetchurl, kernelDev, module_init_tools}:
 
 stdenv.mkDerivation rec {
-  name = "iscsitarget-1.4.20.2-${kernel.version}";
+  name = "iscsitarget-1.4.20.2-${kernelDev.version}";
   
   src = fetchurl {
     url = "mirror://sourceforge/iscsitarget/iscsitarget/1.4.20.2/${name}.tar.gz";
     sha256 = "126kp0yc7vmvdbaw2xfav89340b0h91dvvyib5qbvyrq40n8wg0g";
   };
   
-  KSRC = "${kernel}/lib/modules/*/build";
+  KSRC = "${kernelDev}/lib/modules/*/build";
   
   DESTDIR = "$(out)";
   
diff --git a/pkgs/os-specific/linux/iwlwifi/default.nix b/pkgs/os-specific/linux/iwlwifi/default.nix
index c993886c21d..1a28720f004 100644
--- a/pkgs/os-specific/linux/iwlwifi/default.nix
+++ b/pkgs/os-specific/linux/iwlwifi/default.nix
@@ -1,9 +1,9 @@
-{stdenv, fetchurl, kernel}:
+{stdenv, fetchurl, kernelDev}:
 
 let version = "1.2.25"; in
 
 stdenv.mkDerivation rec {
-  name = "iwlwifi-${version}-${kernel.version}";
+  name = "iwlwifi-${version}-${kernelDev.version}";
 
   src = fetchurl {
     url = "http://www.intellinuxwireless.org/iwlwifi/downloads/iwlwifi-${version}.tgz";
@@ -19,9 +19,9 @@ stdenv.mkDerivation rec {
     # Urgh, we need the complete kernel sources for some header
     # files.  So unpack the original kernel source tarball and copy
     # the configured include directory etc. on top of it.
-    kernelVersion=$(cd ${kernel}/lib/modules && ls)
-    kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/source)
-    tar xvfj ${kernel.src}
+    kernelVersion=$(cd ${kernelDev}/lib/modules && ls)
+    kernelBuild=$(echo ${kernelDev}/lib/modules/$kernelVersion/source)
+    tar xvfj ${kernelDev.src}
     kernelSource=$(echo $(pwd)/linux-*)
     cp -prd $kernelBuild/* $kernelSource
 
diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix
index 8f2db1b15bd..ebbf9557245 100644
--- a/pkgs/os-specific/linux/kernel/perf.nix
+++ b/pkgs/os-specific/linux/kernel/perf.nix
@@ -1,13 +1,13 @@
-{ stdenv, kernel, elfutils, python, perl, newt, slang, asciidoc, xmlto
+{ stdenv, kernelDev, elfutils, python, perl, newt, slang, asciidoc, xmlto
 , docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkgconfig
 , withGtk ? false, gtk ? null }:
 
 assert withGtk -> gtk != null;
 
 stdenv.mkDerivation {
-  name = "perf-linux-${kernel.version}";
+  name = "perf-linux-${kernelDev.version}";
 
-  inherit (kernel) src patches;
+  inherit (kernelDev) src patches;
 
   preConfigure = ''
     cd tools/perf
diff --git a/pkgs/os-specific/linux/klibc/default.nix b/pkgs/os-specific/linux/klibc/default.nix
index 42fd6097da0..97bdd9ebacb 100644
--- a/pkgs/os-specific/linux/klibc/default.nix
+++ b/pkgs/os-specific/linux/klibc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, bison, mktemp, linuxHeaders, linuxHeadersCross, kernel ? null }:
+{ stdenv, fetchurl, perl, bison, mktemp, linuxHeaders, linuxHeadersCross, kernelDev ? null }:
 
 assert stdenv.isLinux;
 
@@ -8,7 +8,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "klibc-${version}${stdenv.lib.optionalString (kernel != null) "-${kernel.version}"}";
+  name = "klibc-${version}${stdenv.lib.optionalString (kernelDev != null) "-${kernelDev.version}"}";
 
   src = fetchurl {
     url = "mirror://kernel/linux/libs/klibc/1.5/klibc-${version}.tar.bz2";
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
   # So it cannot run the 'make headers_install' it wants to run.
   # We don't install the headers, so klibc will not be useful as libc, but
   # usually in nixpkgs we only use the userspace tools comming with klibc.
-  prePatch = stdenv.lib.optionalString (kernel == null) ''
+  prePatch = stdenv.lib.optionalString (kernelDev == null) ''
     sed -i -e /headers_install/d scripts/Kbuild.install
   '';
   
@@ -49,15 +49,15 @@ stdenv.mkDerivation {
     echo "CONFIG_AEABI=y" >> defconfig
     makeFlags=$(eval "echo $makeFlags")
 
-  '' + (if kernel == null then ''
+  '' + (if kernelDev == null then ''
     mkdir linux
     cp -prsd $linuxHeaders/include linux/
     chmod -R u+w linux/include/
   '' else ''
-    tar xvf ${kernel.src}
+    tar xvf ${kernelDev.src}
     mv linux* linux
     cd linux
-    ln -sv ${kernel}/config .config
+    ln -sv ${kernelDev}/config .config
     make prepare
     cd ..
   '');
diff --git a/pkgs/os-specific/linux/kqemu/default.nix b/pkgs/os-specific/linux/kqemu/default.nix
index c703ca4e4a4..97b7c495bb3 100644
--- a/pkgs/os-specific/linux/kqemu/default.nix
+++ b/pkgs/os-specific/linux/kqemu/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl, kernel, perl }:
+{ stdenv, fetchurl, kernelDev, perl }:
 
 stdenv.mkDerivation rec {
-  name = "kqemu-1.4.0pre1-${kernel.version}";
+  name = "kqemu-1.4.0pre1-${kernelDev.version}";
   
   src = fetchurl {
     url = "http://www.nongnu.org/qemu/${name}.tar.gz";
@@ -10,13 +10,13 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ perl ];
   
-  configureFlags = [ ''--PREFIX=$out'' ''--kernel-path=$(ls -d ${kernel}/lib/modules/*/build)'' ];
+  configureFlags = [ ''--PREFIX=$out'' ''--kernel-path=$(ls -d ${kernelDev}/lib/modules/*/build)'' ];
   
   preConfigure = '' 
     sed -e '/#include/i#include <linux/sched.h>' -i kqemu-linux.c
 
     sed -e 's/memset/mymemset/g; s/memcpy/mymemcpy/g; s/void [*]my/static void *my/g' -i common/kernel.c
-    sed -e 's/`uname -r`/'"$(basename ${kernel}/lib/modules/*)"'/' -i install.sh
+    sed -e 's/`uname -r`/'"$(basename ${kernelDev}/lib/modules/*)"'/' -i install.sh
     sed -e '/kernel_path=/akernel_path=$out$kernel_path' -i install.sh
     sed -e '/depmod/d' -i install.sh
     cat install.sh
diff --git a/pkgs/os-specific/linux/ndiswrapper/default.nix b/pkgs/os-specific/linux/ndiswrapper/default.nix
index c41649e0285..109faac97c5 100644
--- a/pkgs/os-specific/linux/ndiswrapper/default.nix
+++ b/pkgs/os-specific/linux/ndiswrapper/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, kernel, perl }:
+{ stdenv, fetchurl, kernelDev, perl }:
 
 stdenv.mkDerivation {
-  name = "ndiswrapper-1.56-${kernel.version}";
+  name = "ndiswrapper-1.56-${kernelDev.version}";
 
   # need at least .config and include 
-  inherit kernel;
+  kernel = kernelDev;
 
   buildPhase = "
     echo make KBUILD=$(echo \$kernel/lib/modules/*/build);
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
     sha256 = "10yqg1a08v6z1qm1qr1v4rbhl35c90gzrazapr09vp372hky8f57";
   };
 
-  buildInputs = [ kernel perl ];
+  buildInputs = [ kernelDev perl ];
 
   # this is a patch against svn head, not stable version
   patches = [./prefix.patch];
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 829e68698c6..2ef590fcafc 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, kernel ? null, xlibs, zlib, perl
+{ stdenv, fetchurl, kernelDev ? null, xlibs, zlib, perl
 , gtk, atk, pango, glib, gdk_pixbuf
 , # Whether to build the libraries only (i.e. not the kernel module or
   # nvidia-settings).  Used to support 32-bit binaries on 64-bit
@@ -11,7 +11,7 @@ with stdenv.lib;
 let versionNumber = "310.32"; in
 
 stdenv.mkDerivation {
-  name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}";
+  name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernelDev.version}"}";
 
   builder = ./builder.sh;
 
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
 
   inherit versionNumber libsOnly;
 
-  kernel = if libsOnly then null else kernel;
+  kernel = if libsOnly then null else kernelDev;
 
   dontStrip = true;
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix
index 90ff989b759..a03e3d4ca7e 100644
--- a/pkgs/os-specific/linux/nvidia-x11/legacy173.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/legacy173.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, kernel, xlibs, zlib, gtk, atk, pango, glib, gdk_pixbuf}:
+{stdenv, fetchurl, kernelDev, xlibs, zlib, gtk, atk, pango, glib, gdk_pixbuf}:
 
 let 
 
@@ -7,7 +7,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "nvidia-x11-${versionNumber}-${kernel.version}";
+  name = "nvidia-x11-${versionNumber}-${kernelDev.version}";
   
   builder = ./builder-legacy.sh;
   
@@ -24,7 +24,9 @@ stdenv.mkDerivation {
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
-  inherit versionNumber kernel;
+  kernel = kernelDev;
+
+  inherit versionNumber;
 
   dontStrip = true;
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy304.nix b/pkgs/os-specific/linux/nvidia-x11/legacy304.nix
index 1a8761afbf0..e2739b291d4 100644
--- a/pkgs/os-specific/linux/nvidia-x11/legacy304.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/legacy304.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, kernel ? null, xlibs, zlib, perl
+{ stdenv, fetchurl, kernelDev ? null, xlibs, zlib, perl
 , gtk, atk, pango, glib, gdk_pixbuf
 , # Whether to build the libraries only (i.e. not the kernel module or
   # nvidia-settings).  Used to support 32-bit binaries on 64-bit
@@ -11,7 +11,7 @@ with stdenv.lib;
 let versionNumber = "304.84"; in
 
 stdenv.mkDerivation {
-  name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}";
+  name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernelDev.version}"}";
 
   builder = ./builder-legacy304.sh;
 
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
 
   inherit versionNumber libsOnly;
 
-  kernel = if libsOnly then null else kernel;
+  kernel = if libsOnly then null else kernelDev;
 
   dontStrip = true;
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/legacy96.nix b/pkgs/os-specific/linux/nvidia-x11/legacy96.nix
index 8e1fb784ae3..32fc3632b05 100644
--- a/pkgs/os-specific/linux/nvidia-x11/legacy96.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/legacy96.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, kernel, xlibs, zlib, gtk, atk, pango, glib}:
+{stdenv, fetchurl, kernelDev, xlibs, zlib, gtk, atk, pango, glib}:
 
 let 
 
@@ -7,7 +7,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "nvidia-x11-${versionNumber}-${kernel.version}";
+  name = "nvidia-x11-${versionNumber}-${kernelDev.version}";
   
   builder = ./builder-legacy.sh;
   
@@ -24,7 +24,9 @@ stdenv.mkDerivation {
       }
     else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
-  inherit versionNumber kernel;
+  kernel = kernelDev;
+
+  inherit versionNumber;
 
   dontStrip = true;
 
diff --git a/pkgs/os-specific/linux/open-iscsi/default.nix b/pkgs/os-specific/linux/open-iscsi/default.nix
index eccdde30b13..60e0e4d189c 100644
--- a/pkgs/os-specific/linux/open-iscsi/default.nix
+++ b/pkgs/os-specific/linux/open-iscsi/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, kernel}:
+{ stdenv, fetchurl, kernelDev}:
 
 stdenv.mkDerivation rec {
-  name = "open-iscsi-2.0-871-${kernel.version}";
+  name = "open-iscsi-2.0-871-${kernelDev.version}";
   
   src = fetchurl {
     url = "http://www.open-iscsi.org/bits/${name}.tar.gz";
     sha256 = "1jvx1agybaj4czhz41bz37as076spicsmlh5pjksvwl2mr38gsmw";
   };
   
-  KSRC = "${kernel}/lib/modules/*/build";
+  KSRC = "${kernelDev}/lib/modules/*/build";
   DESTDIR = "$(out)";
   
   preConfigure = ''
diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix
index b07a51c1ace..3d949511af0 100644
--- a/pkgs/os-specific/linux/spl/default.nix
+++ b/pkgs/os-specific/linux/spl/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl, kernel, perl, autoconf, automake, libtool, coreutils, gawk }:
+{ stdenv, fetchurl, kernelDev, perl, autoconf, automake, libtool, coreutils, gawk }:
 
 stdenv.mkDerivation {
-  name = "spl-0.6.0-rc14-${kernel.version}";
+  name = "spl-0.6.0-rc14-${kernelDev.version}";
   src = fetchurl {
     url = http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.0-rc14.tar.gz;
     sha256 = "00wyamf13z8ins4s14xf0b3hfjfz4w084mr17hs3k5xifb5jxa8g";
@@ -9,9 +9,9 @@ stdenv.mkDerivation {
 
   patches = [ ./install_prefix.patch ./install_prefix_2.patch ./module_prefix.patch ];
 
-  buildInputs = [ perl kernel autoconf automake libtool ];
+  buildInputs = [ perl kernelDev autoconf automake libtool ];
 
-  NIX_CFLAGS_COMPILE = "-I${kernel}/lib/modules/${kernel.modDirVersion}/build/include/generated";
+  NIX_CFLAGS_COMPILE = "-I${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build/include/generated";
 
   preConfigure = ''
     ./autogen.sh
@@ -25,8 +25,8 @@ stdenv.mkDerivation {
   '';
 
   configureFlags = ''
-     --with-linux=${kernel}/lib/modules/${kernel.modDirVersion}/build
-     --with-linux-obj=${kernel}/lib/modules/${kernel.modDirVersion}/build
+     --with-linux=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build
+     --with-linux-obj=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build
   '';
 
   meta = {
diff --git a/pkgs/os-specific/linux/tp_smapi/default.nix b/pkgs/os-specific/linux/tp_smapi/default.nix
index 224b808721b..140021605ea 100644
--- a/pkgs/os-specific/linux/tp_smapi/default.nix
+++ b/pkgs/os-specific/linux/tp_smapi/default.nix
@@ -1,23 +1,23 @@
-{stdenv, fetchurl, kernel}:
+{stdenv, fetchurl, kernelDev}:
 
 stdenv.mkDerivation {
-  name = "tp_smapi-0.41-${kernel.version}";
+  name = "tp_smapi-0.41-${kernelDev.version}";
 
   src = fetchurl {
     url = "https://github.com/downloads/evgeni/tp_smapi/tp_smapi-0.41.tar.gz";
     sha256 = "6aef02b92d10360ac9be0db29ae390636be55017990063a092a285c70b54e666";
   };
 
-  buildInputs = [ kernel ];
+  buildInputs = [ kernelDev ];
 
   makeFlags = [
-    "KBASE=${kernel}/lib/modules/${kernel.modDirVersion}"
+    "KBASE=${kernelDev}/lib/modules/${kernelDev.modDirVersion}"
     "SHELL=/bin/sh"
   ];
 
   installPhase = ''
-    install -v -D -m 644 thinkpad_ec.ko "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/firmware/thinkpad_ec.ko"
-    install -v -D -m 644 tp_smapi.ko "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/firmware/tp_smapi.ko"
+    install -v -D -m 644 thinkpad_ec.ko "$out/lib/modules/${kernelDev.modDirVersion}/kernel/drivers/firmware/thinkpad_ec.ko"
+    install -v -D -m 644 tp_smapi.ko "$out/lib/modules/${kernelDev.modDirVersion}/kernel/drivers/firmware/tp_smapi.ko"
   '';
 
   dontStrip = true;
diff --git a/pkgs/os-specific/linux/v86d/default.nix b/pkgs/os-specific/linux/v86d/default.nix
index 220abf88ae7..698a7ab4ec8 100644
--- a/pkgs/os-specific/linux/v86d/default.nix
+++ b/pkgs/os-specific/linux/v86d/default.nix
@@ -1,7 +1,7 @@
-{stdenv, fetchurl, klibc, kernel, withKlibc ? true}:
+{stdenv, fetchurl, klibc, kernelDev, withKlibc ? true}:
 
 stdenv.mkDerivation rec {
-  name = "v86d-${version}-${kernel.version}";
+  name = "v86d-${version}-${kernelDev.version}";
   version = "0.1.10";
 
   src = fetchurl {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   configureFlags = if withKlibc then [ "--with-klibc" ] else [ "--default" ];
 
   makeFlags = [
-    "KDIR=${kernel}/lib/modules/${kernel.modDirVersion}/source"
+    "KDIR=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/source"
     "DESTDIR=$(out)"
   ];
 
diff --git a/pkgs/os-specific/linux/wis-go7007/default.nix b/pkgs/os-specific/linux/wis-go7007/default.nix
index 4fff3ed37c0..7f27196ba6b 100644
--- a/pkgs/os-specific/linux/wis-go7007/default.nix
+++ b/pkgs/os-specific/linux/wis-go7007/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, kernel, ncurses, fxload}:
+{stdenv, fetchurl, kernelDev, ncurses, fxload}:
 
 let
 
@@ -12,7 +12,7 @@ let
 in   
 
 stdenv.mkDerivation {
-  name = "wis-go7007-0.9.8-${kernel.version}";
+  name = "wis-go7007-0.9.8-${kernelDev.version}";
 
   src = fetchurl {
     url = http://gentoo.osuosl.org/distfiles/wis-go7007-linux-0.9.8.tar.bz2;
@@ -50,9 +50,9 @@ stdenv.mkDerivation {
     # Urgh, we need the complete kernel sources for some header
     # files.  So unpack the original kernel source tarball and copy
     # the configured include directory etc. on top of it.
-    kernelVersion=$(cd ${kernel}/lib/modules && ls)
-    kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/source)
-    tar xvfj ${kernel.src}
+    kernelVersion=$(cd ${kernelDev}/lib/modules && ls)
+    kernelBuild=$(echo ${kernelDev}/lib/modules/$kernelVersion/source)
+    tar xvfj ${kernelDev.src}
     kernelSource=$(echo $(pwd)/linux-*)
     cp -prd $kernelBuild/* $kernelSource
 
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index 33a5dbc0735..8da4906f8fe 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl, kernel, spl, perl, autoconf, automake, libtool, zlib, libuuid, coreutils, utillinux }:
+{ stdenv, fetchurl, kernelDev, spl, perl, autoconf, automake, libtool, zlib, libuuid, coreutils, utillinux }:
 
 stdenv.mkDerivation {
-  name = "zfs-0.6.0-rc14-${kernel.version}";
+  name = "zfs-0.6.0-rc14-${kernelDev.version}";
 
   src = fetchurl {
     url = http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.0-rc14.tar.gz;
@@ -10,11 +10,11 @@ stdenv.mkDerivation {
 
   patches = [ ./module_perm_prefix.patch ./mount_zfs_prefix.patch ./kerneldir_path.patch ./no_absolute_paths_to_coreutils.patch ];
 
-  buildInputs = [ kernel spl perl autoconf automake libtool zlib libuuid coreutils ];
+  buildInputs = [ kernelDev spl perl autoconf automake libtool zlib libuuid coreutils ];
 
   # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
   NIX_CFLAGS_LINK = "-lgcc_s";
-  NIX_CFLAGS_COMPILE = "-I${kernel}/lib/modules/${kernel.modDirVersion}/build/include/generated";
+  NIX_CFLAGS_COMPILE = "-I${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build/include/generated";
 
   preConfigure = ''
     ./autogen.sh
@@ -29,9 +29,9 @@ stdenv.mkDerivation {
   '';
 
   configureFlags = ''
-    --with-linux=${kernel}/lib/modules/${kernel.modDirVersion}/build 
-    --with-linux-obj=${kernel}/lib/modules/${kernel.modDirVersion}/build 
-    --with-spl=${spl}/libexec/spl/${kernel.modDirVersion}
+    --with-linux=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build 
+    --with-linux-obj=${kernelDev}/lib/modules/${kernelDev.modDirVersion}/build 
+    --with-spl=${spl}/libexec/spl/${kernelDev.modDirVersion}
     ${if stdenv.system == "i686-linux"  then "--enable-atomic-spinlocks" else ""}
   '';
 
diff --git a/pkgs/servers/openafs-client/default.nix b/pkgs/servers/openafs-client/default.nix
index efbcd151de5..247628c30a6 100644
--- a/pkgs/servers/openafs-client/default.nix
+++ b/pkgs/servers/openafs-client/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, which, autoconf, automake, flex, yacc,
-  kernel, glibc, ncurses, perl, krb5 }:
+  kernelDev, glibc, ncurses, perl, krb5 }:
 
 assert stdenv.isLinux;
 
 stdenv.mkDerivation {
-  name = "openafs-1.6.1-${kernel.version}";
+  name = "openafs-1.6.1-${kernelDev.version}";
 
   src = fetchurl {
     url = http://www.openafs.org/dl/openafs/1.6.1/openafs-1.6.1-src.tar.bz2;
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   buildInputs = [ autoconf automake flex yacc ncurses perl which ];
 
   preConfigure = ''
-    ln -s ${kernel}/lib/modules/*/build $TMP/linux
+    ln -s ${kernelDev}/lib/modules/*/build $TMP/linux
 
     patchShebangs .
     for i in `grep -l -R '/usr/\(include\|src\)' .`; do
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1e269b6f97d..ec2a13e138e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5956,123 +5956,120 @@ let
      for a specific kernel.  This function can then be called for
      whatever kernel you're using. */
 
-  linuxPackagesFor = kernel:
-    let
-      callPackage = newScope self;
+  linuxPackagesFor = kernel: self: let callPackage = newScope self; in {
+    inherit kernel;
 
-      self = {
-        kernel = kernel.dev or kernel;
+    kernelDev = kernel.dev or kernel;
 
-        acpi_call = callPackage ../os-specific/linux/acpi-call {};
+    acpi_call = callPackage ../os-specific/linux/acpi-call {};
 
-        bbswitch = callPackage ../os-specific/linux/bbswitch {};
+    bbswitch = callPackage ../os-specific/linux/bbswitch {};
 
-        ati_drivers_x11 = callPackage ../os-specific/linux/ati-drivers { };
+    ati_drivers_x11 = callPackage ../os-specific/linux/ati-drivers { };
 
-        aufs =
-          if self.kernel.features ? aufs2 then
-            callPackage ../os-specific/linux/aufs/2.nix { }
-          else if self.kernel.features ? aufs3 then
-            callPackage ../os-specific/linux/aufs/3.nix { }
-          else null;
+    aufs =
+      if self.kernel.features ? aufs2 then
+        callPackage ../os-specific/linux/aufs/2.nix { }
+      else if self.kernel.features ? aufs3 then
+        callPackage ../os-specific/linux/aufs/3.nix { }
+      else null;
 
-        aufs_util =
-          if self.kernel.features ? aufs2 then
-            callPackage ../os-specific/linux/aufs-util/2.nix { }
-          else if self.kernel.features ? aufs3 then
-            callPackage ../os-specific/linux/aufs-util/3.nix { }
-          else null;
+    aufs_util =
+      if self.kernel.features ? aufs2 then
+        callPackage ../os-specific/linux/aufs-util/2.nix { }
+      else if self.kernel.features ? aufs3 then
+        callPackage ../os-specific/linux/aufs-util/3.nix { }
+      else null;
 
-        blcr = callPackage ../os-specific/linux/blcr { };
+    blcr = callPackage ../os-specific/linux/blcr { };
 
-        cryptodev = callPackage ../os-specific/linux/cryptodev { };
+    cryptodev = callPackage ../os-specific/linux/cryptodev { };
 
-        e1000e = callPackage ../os-specific/linux/e1000e {};
+    e1000e = callPackage ../os-specific/linux/e1000e {};
 
-        exmap = callPackage ../os-specific/linux/exmap { };
+    exmap = callPackage ../os-specific/linux/exmap { };
 
-        frandom = callPackage ../os-specific/linux/frandom { };
+    frandom = callPackage ../os-specific/linux/frandom { };
 
-        iscsitarget = callPackage ../os-specific/linux/iscsitarget { };
+    iscsitarget = callPackage ../os-specific/linux/iscsitarget { };
 
-        iwlwifi = callPackage ../os-specific/linux/iwlwifi { };
+    iwlwifi = callPackage ../os-specific/linux/iwlwifi { };
 
-        iwlwifi4965ucode =
-          if builtins.compareVersions self.kernel.version "2.6.27" == 0
-             || builtins.compareVersions self.kernel.version "2.6.27" == 1
-          then iwlwifi4965ucodeV2
-          else iwlwifi4965ucodeV1;
+    iwlwifi4965ucode =
+      if builtins.compareVersions self.kernel.version "2.6.27" == 0
+         || builtins.compareVersions self.kernel.version "2.6.27" == 1
+      then iwlwifi4965ucodeV2
+      else iwlwifi4965ucodeV1;
 
-        atheros = callPackage ../os-specific/linux/atheros/0.9.4.nix { };
+    atheros = callPackage ../os-specific/linux/atheros/0.9.4.nix { };
 
-        broadcom_sta = callPackage ../os-specific/linux/broadcom-sta/default.nix { };
+    broadcom_sta = callPackage ../os-specific/linux/broadcom-sta/default.nix { };
 
-        nvidia_x11 = callPackage ../os-specific/linux/nvidia-x11 { };
+    nvidia_x11 = callPackage ../os-specific/linux/nvidia-x11 { };
 
-        nvidia_x11_legacy96 = callPackage ../os-specific/linux/nvidia-x11/legacy96.nix { };
-        nvidia_x11_legacy173 = callPackage ../os-specific/linux/nvidia-x11/legacy173.nix { };
-        nvidia_x11_legacy304 = callPackage ../os-specific/linux/nvidia-x11/legacy304.nix { };
+    nvidia_x11_legacy96 = callPackage ../os-specific/linux/nvidia-x11/legacy96.nix { };
+    nvidia_x11_legacy173 = callPackage ../os-specific/linux/nvidia-x11/legacy173.nix { };
+    nvidia_x11_legacy304 = callPackage ../os-specific/linux/nvidia-x11/legacy304.nix { };
 
-        openafsClient = callPackage ../servers/openafs-client { };
+    openafsClient = callPackage ../servers/openafs-client { };
 
-        openiscsi = callPackage ../os-specific/linux/open-iscsi { };
+    openiscsi = callPackage ../os-specific/linux/open-iscsi { };
 
-        wis_go7007 = callPackage ../os-specific/linux/wis-go7007 { };
+    wis_go7007 = callPackage ../os-specific/linux/wis-go7007 { };
 
-        kqemu = callPackage ../os-specific/linux/kqemu { };
+    kqemu = callPackage ../os-specific/linux/kqemu { };
 
-        klibc = callPackage ../os-specific/linux/klibc {
-          linuxHeaders = glibc.kernelHeaders;
-        };
+    klibc = callPackage ../os-specific/linux/klibc {
+      linuxHeaders = glibc.kernelHeaders;
+    };
 
-        splashutils = let hasFbConDecor = if self.kernel ? features
-          then self.kernel.features ? fbConDecor
-          else self.kernel.config.isEnabled "FB_CON_DECOR";
-        in if hasFbConDecor then pkgs.splashutils else null;
+    splashutils = let hasFbConDecor = if self.kernel ? features
+      then self.kernel.features ? fbConDecor
+      else self.kernel.config.isEnabled "FB_CON_DECOR";
+    in if hasFbConDecor then pkgs.splashutils else null;
 
-        /* compiles but has to be integrated into the kernel somehow
-           Let's have it uncommented and finish it..
-        */
-        ndiswrapper = callPackage ../os-specific/linux/ndiswrapper { };
+    /* compiles but has to be integrated into the kernel somehow
+       Let's have it uncommented and finish it..
+    */
+    ndiswrapper = callPackage ../os-specific/linux/ndiswrapper { };
 
-        perf = callPackage ../os-specific/linux/kernel/perf.nix { };
+    perf = callPackage ../os-specific/linux/kernel/perf.nix { };
 
-        spl = callPackage ../os-specific/linux/spl/default.nix { };
+    spl = callPackage ../os-specific/linux/spl/default.nix { };
 
-        sysprof = callPackage ../development/tools/profiling/sysprof {
-          inherit (gnome) libglade;
-        };
+    sysprof = callPackage ../development/tools/profiling/sysprof {
+      inherit (gnome) libglade;
+    };
 
-        systemtap = callPackage ../development/tools/profiling/systemtap {
-          linux = self.kernel;
-          inherit (gnome) libglademm;
-        };
+    systemtap = callPackage ../development/tools/profiling/systemtap {
+      linux = self.kernelDev;
+      inherit (gnome) libglademm;
+    };
 
-        tp_smapi = callPackage ../os-specific/linux/tp_smapi { };
+    tp_smapi = callPackage ../os-specific/linux/tp_smapi { };
 
-        v86d = callPackage ../os-specific/linux/v86d { };
+    v86d = callPackage ../os-specific/linux/v86d { };
 
-        virtualbox = callPackage ../applications/virtualization/virtualbox {
-          stdenv = stdenv_32bit;
-          inherit (gnome) libIDL;
-        };
+    virtualbox = callPackage ../applications/virtualization/virtualbox {
+      stdenv = stdenv_32bit;
+      inherit (gnome) libIDL;
+    };
 
-        virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions { };
+    virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions { };
 
-        zfs = callPackage ../os-specific/linux/zfs/default.nix { };
-      };
-    in (self // { kernel = self.kernel.out; });
+    zfs = callPackage ../os-specific/linux/zfs/default.nix { };
+  };
 
   # Build the kernel modules for the some of the kernels.
-  linuxPackages_2_6_32 = recurseIntoAttrs (linuxPackagesFor linux_2_6_32);
-  linuxPackages_2_6_35 = recurseIntoAttrs (linuxPackagesFor linux_2_6_35);
-  linuxPackages_3_0 = recurseIntoAttrs (linuxPackagesFor linux_3_0);
-  linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2);
-  linuxPackages_3_2_xen = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2_xen);
-  linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4);
-  linuxPackages_3_6_rpi = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_6_rpi);
-  linuxPackages_3_7 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_7);
-  linuxPackages_3_8 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_8);
+  linuxPackages_2_6_32 = recurseIntoAttrs (linuxPackagesFor linux_2_6_32 linuxPackages_2_6_32);
+  linuxPackages_2_6_35 = recurseIntoAttrs (linuxPackagesFor linux_2_6_35 linuxPackages_2_6_35);
+  linuxPackages_3_0 = recurseIntoAttrs (linuxPackagesFor linux_3_0 linuxPackages_3_0);
+  linuxPackages_3_2 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2 linuxPackages_3_2);
+  linuxPackages_3_2_xen = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_2_xen linuxPackages_3_2_xen);
+  linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 linuxPackages_3_4);
+  linuxPackages_3_6_rpi = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_6_rpi linuxPackages_3_6_rpi);
+  linuxPackages_3_7 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_7 linuxPackages_3_7);
+  linuxPackages_3_8 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_8 linuxPackages_3_8);
 
   # The current default kernel / kernel modules.
   linux = linuxPackages.kernel;