diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index 41d23aa13240..cd207f1d610c 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -32,24 +32,18 @@ let readConfig = configfile: - lib.listToAttrs ( - map - ( - line: - let - match = lib.match "(.*)=\"?(.*)\"?" line; - in - { - name = lib.elemAt match 0; - value = lib.elemAt match 1; - } - ) - ( - lib.filter (line: !(lib.hasPrefix "#" line || line == "")) ( - lib.splitString "\n" (builtins.readFile configfile) - ) - ) - ); + let + matchLine = + line: + let + match = lib.match "(CONFIG_[^=]+)=([ym])" line; + in + lib.optional (match != null) { + name = lib.elemAt match 0; + value = lib.elemAt match 1; + }; + in + lib.listToAttrs (lib.concatMap matchLine (lib.splitString "\n" (builtins.readFile configfile))); in lib.makeOverridable ( {