nixpkgs/pkgs/os-specific/linux/nvidia/default.nix
Eelco Dolstra 0aea0db581 * Put all packages that depend on a specific kernel (notably kernel
modules) together in an attribute set returned by the function
  "kernelPackagesFor" that takes a kernel as argument.  For instance,
  kernelPackages_2_6_23 is the result of calling this function with
  kernel_2_6_23.

  This is necessary in NixOS to make it easier to override the kernel:
  it's not enough to just specify a different kernel (via the
  boot.kernel option), but you also need matching nvidiaDriver, aufs,
  iwlwifi, etc.  Having a single attribute set that contains all
  kernel-related packages makes this much easier.

* The kernel now has a passthru attribute "features" that allows NixOS
  expressions to test whether a kernel has certain features.  For
  instance, the externel "iwlwifi" kernel module package should only
  be built on kernels < 2.6.24, as kernels >= 2.6.24 have iwlwifi
  support integrated.  So the NixOS expressions can do the test
  "kernel.features ? iwlwifi" to see if the iwlwifi package should be
  built.

  Kernel patches can declare additional features.  E.g., the fbsplash
  patch adds a "fbSplash" feature.

svn path=/nixpkgs/trunk/; revision=11881
2008-05-22 12:01:24 +00:00

29 lines
627 B
Nix

{stdenv, fetchurl, kernel, xlibs, gtkLibs}:
let
versionNumber = "169.12";
in
stdenv.mkDerivation {
name = "nvidiaDrivers-${versionNumber}-${kernel.version}";
builder = ./builder.sh;
src = fetchurl {
url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg1.run";
sha256 = "0bxxjp30bysqaviqjq05vmrhp17w3qn94iwwwj074qmi710zffyy";
};
#xenPatch = ./nvidia-2.6.24-xen.patch;
inherit versionNumber kernel;
dontStrip = true;
libPath = [
gtkLibs.gtk gtkLibs.atk gtkLibs.pango gtkLibs.glib
xlibs.libXext xlibs.libX11 xlibs.libXv
];
}