anchor.diff:        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;
  
positive.code: 
              # x86 RTC needed by the stage 2 init script.
              "rtc_cmos"
            ];
  
          boot.initrd.kernelModules =
            [ # For LVM.
              "dm_mod"
            ];
        })
  
negative.code:   config = mkMerge
      [ (mkIf config.boot.initrd.enable {
          boot.initrd.availableKernelModules =
            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.
  