This makes it easy to specify kernel patches:
boot.kernelPatches = [ pkgs.kernelPatches.ubuntu_fan_4_4 ];
To make the `boot.kernelPatches` option possible, this also makes it
easy to extend and/or modify the kernel packages within a linuxPackages
set. For example:
pkgs.linuxPackages.extend (self: super: {
kernel = super.kernel.override {
kernelPatches = super.kernel.kernelPatches ++ [
pkgs.kernelPatches.ubuntu_fan_4_4
];
};
});
Closes #15095
These functions used to live in pkgs/development/haskell-modules/default.nix,
but they are generic, really, and should be easily accessible to everyone.
This is primarily useful in Nix expressions that are also intended to
be used by nix-shell. It allows saying things like:
buildInputs = [ ... ] ++ (if inNixShell then [ emacs ] else [ ]);
This should not be used in Nixpkgs (since the question of what
constitutes a useful nix-shell environment is very subjective).
This makes it a bit easier to find out the current Nixpkgs version,
e.g.
$ nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion
"14.02.35657.66f51a9"