boot.kernel.features: add nixos option for setting kernel features

this allows setting the features attribute for
pkgs/os-specific/linux/kernel/common-config.nix

Changed files
+11 -1
nixos
modules
system
boot
+11 -1
nixos/modules/system/boot/kernel.nix
···
let
inherit (config.boot) kernelPatches;
-
+
inherit (config.boot.kernel) features;
inherit (config.boot.kernelPackages) kernel;
kernelModulesConf = pkgs.writeText "nixos.conf"
···
options = {
+
boot.kernel.features = mkOption {
+
default = {};
+
example = literalExample "{ debug = true; }";
+
description = ''
+
This option allows to enable or disable certain kernel features.
+
grep features pkgs/os-specific/linux/kernel/common-config.nix
+
'';
+
};
+
boot.kernelPackages = mkOption {
default = pkgs.linuxPackages;
apply = kernelPackages: kernelPackages.extend (self: super: {
kernel = super.kernel.override {
kernelPatches = super.kernel.kernelPatches ++ kernelPatches;
+
features = lib.recursiveUpdate super.kernel.features features;
};
});
# We don't want to evaluate all of linuxPackages for the manual