39 lines
		
	
	
		
			811 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			811 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
# This module allows getting memtest86 in grub menus.
 | 
						|
 | 
						|
{config, pkgs, ...}:
 | 
						|
 | 
						|
with pkgs.lib;
 | 
						|
let
 | 
						|
  isEnabled = config.boot.loader.grub.memtest86;
 | 
						|
  memtest86 = pkgs.memtest86;
 | 
						|
in
 | 
						|
{
 | 
						|
  options = {
 | 
						|
    boot.loader.grub.memtest86 = mkOption {
 | 
						|
      default = false;
 | 
						|
      type = types.bool;
 | 
						|
      description = ''
 | 
						|
        Add a menu entry in grub for memtest86+
 | 
						|
      '';
 | 
						|
    };
 | 
						|
  };
 | 
						|
 | 
						|
  config.boot.loader.grub = mkIf isEnabled {
 | 
						|
    extraEntries = if config.boot.loader.grub.version == 2 then
 | 
						|
      ''
 | 
						|
        menuentry "${memtest86.name}" {
 | 
						|
          linux16 $bootRoot/memtest.bin
 | 
						|
        }
 | 
						|
      ''
 | 
						|
      else
 | 
						|
      ''
 | 
						|
        menuentry "${memtest86.name}"
 | 
						|
          linux16 $bootRoot/memtest.bin
 | 
						|
      '';
 | 
						|
    extraPrepareConfig =
 | 
						|
      ''
 | 
						|
        cp ${memtest86}/memtest.bin /boot/memtest.bin;
 | 
						|
      '';
 | 
						|
  };
 | 
						|
}
 |