linux: remove mentions of extraStructuredConfig & throw error

PR #431115 changed extraStructuredConfig to structuredExtraConfig to
follow the deprecation warning about `extraConfig`. However,
`extraStructuredConfig` was mentioned in several places in the docs that
weren't addressed. Also, using this would silently fail since the code
in question would still accept the old key.

This patch updates the docs accordingly and throws an error if the
code-path is reached and `extraStructuredConfig` is being used.
This commit is contained in:
Maximilian Bosch 2025-08-10 13:10:12 +02:00
parent dfe6a41c36
commit dccb264578
No known key found for this signature in database
3 changed files with 15 additions and 8 deletions

View File

@ -25,7 +25,7 @@ pkgs.linux_latest.override {
ignoreConfigErrors = true;
autoModules = false;
kernelPreferBuiltin = true;
extraStructuredConfig = with lib.kernel; {
structuredExtraConfig = with lib.kernel; {
DEBUG_KERNEL = yes;
FRAME_POINTER = yes;
KGDB = yes;

View File

@ -102,7 +102,7 @@ in
{
name = "foo";
patch = ./foo.patch;
extraStructuredConfig.FOO = lib.kernel.yes;
structuredExtraConfig.FOO = lib.kernel.yes;
features.foo = true;
}
{
@ -127,7 +127,7 @@ in
# (required, but can be null if only config changes
# are needed)
extraStructuredConfig = { # attrset of extra configuration parameters without the CONFIG_ prefix
structuredExtraConfig = { # attrset of extra configuration parameters without the CONFIG_ prefix
FOO = lib.kernel.yes; # (optional)
}; # values should generally be lib.kernel.yes,
# lib.kernel.no or lib.kernel.module
@ -138,7 +138,7 @@ in
extraConfig = "FOO y"; # extra configuration options in string form without the CONFIG_ prefix
# (optional, multiple lines allowed to specify multiple options)
# (deprecated, use extraStructuredConfig instead)
# (deprecated, use structuredExtraConfig instead)
}
```

View File

@ -141,7 +141,14 @@ let
{
structuredExtraConfig ? { },
...
}:
}@args:
if args ? extraStructuredConfig then
throw ''
Passing `extraStructuredConfig` to the Linux kernel (e.g.
via `boot.kernelPatches` in NixOS) is not supported anymore. Use
`structuredExtraConfig` instead.
''
else
{
settings = structuredExtraConfig;
}