about summary refs log tree commit diff
path: root/nixos/modules
diff options
context:
space:
mode:
authorMatej Urbas <matej.urbas@gmail.com>2021-01-31 10:58:50 +0000
committerMatej Urbas <matej.urbas@gmail.com>2021-02-07 11:14:36 +0000
commit2c769d7a6a332bd03b07e8ebd16d8e5bd664222f (patch)
tree0ea74b25267a47a5062ff3a35fc14d665900a475 /nixos/modules
parent4c9a74aa459dc525fcfdfb3019b234f68de66c8a (diff)
system/boot: add includeDefaultModules option
Diffstat (limited to 'nixos/modules')
-rw-r--r--nixos/modules/system/boot/kernel.nix18
1 files changed, 15 insertions, 3 deletions
diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix
index ed7226331d70e..363d8e47a0ff1 100644
--- a/nixos/modules/system/boot/kernel.nix
+++ b/nixos/modules/system/boot/kernel.nix
@@ -156,6 +156,16 @@ in
       description = "List of modules that are always loaded by the initrd.";
     };
 
+    boot.initrd.includeDefaultModules = mkOption {
+      type = types.bool;
+      default = true;
+      description = ''
+        This option, if set, adds a collection of default kernel modules
+        to <option>boot.initrd.availableKernelModules</option> and
+        <option>boot.initrd.kernelModules</option>.
+      '';
+    };
+
     system.modulesTree = mkOption {
       type = types.listOf types.path;
       internal = true;
@@ -195,7 +205,8 @@ in
   config = mkMerge
     [ (mkIf config.boot.initrd.enable {
         boot.initrd.availableKernelModules =
-          [ # Note: most of these (especially the SATA/PATA modules)
+          optionals config.boot.initrd.includeDefaultModules ([
+            # Note: most of these (especially the SATA/PATA modules)
             # shouldn't be included by default since nixos-generate-config
             # detects them, but I'm keeping them for now for backwards
             # compatibility.
@@ -235,10 +246,11 @@ in
 
             # x86 RTC needed by the stage 2 init script.
             "rtc_cmos"
-          ];
+          ]);
 
         boot.initrd.kernelModules =
-          [ # For LVM.
+          optionals config.boot.initrd.includeDefaultModules [
+            # For LVM.
             "dm_mod"
           ];
       })