Linux kernel: Difference between revisions
extraConfig in boot.kernelPatches and pkgs.buildLinux is deprecated |
m →Overriding kernel packages: typo |
||
| (2 intermediate revisions by 2 users not shown) | |||
| Line 24: | Line 24: | ||
</syntaxHighlight> | </syntaxHighlight> | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
nix-repl> | nix-repl> pkgs = import <nixpkgs> {} | ||
Added 12607 variables. | Added 12607 variables. | ||
| Line 474: | Line 474: | ||
=== Overriding kernel packages === | === Overriding kernel packages === | ||
In order to override <code>linuxPackages</code>, use the <code>extend</code> attribute. Example: | In order to override <code>linuxPackages</code>, an alias of <code>linuxKernel.packages</code>, use the <code>extend</code> attribute. Example: | ||
<syntaxHighlight lang=nix> | <syntaxHighlight lang=nix> | ||
| Line 498: | Line 498: | ||
}) | }) | ||
]; | ]; | ||
</syntaxHighlight> | |||
You can also use <code>kernelPackagesExtensions</code> in a similar fashion to override <code>linuxKernel.packages</code>: | |||
<syntaxHighlight lang=nix> | |||
nixpkgs.overlays = [ | |||
(_: prev: { | |||
kernelPackagesExtensions = prev.kernelPackagesExtensions ++ [ | |||
(_: linuxPrev: { | |||
digimend = linuxPrev.digimend.overrideAttrs (prevAttrs: { | |||
postPatch = prevAttrs.postPatch or "" + '' | |||
substituteInPlace "hid-uclogic-core.c" \ | |||
--replace-fail "del_timer_sync" "timer_shutdown_sync" | |||
''; | |||
}); | |||
}) | |||
]; | |||
}) | |||
]; | |||
</syntaxHighlight> | </syntaxHighlight> | ||