diff options
Diffstat (limited to 'modules/system/boot/loader/grub/memtest.nix')
-rw-r--r-- | modules/system/boot/loader/grub/memtest.nix | 41 |
1 files changed, 22 insertions, 19 deletions
diff --git a/modules/system/boot/loader/grub/memtest.nix b/modules/system/boot/loader/grub/memtest.nix index 50c904e1be75..006d777b1201 100644 --- a/modules/system/boot/loader/grub/memtest.nix +++ b/modules/system/boot/loader/grub/memtest.nix @@ -1,39 +1,42 @@ -# This module allows getting memtest86 in grub menus. +# This module adds Memtest86+ to the GRUB boot menu. -{config, pkgs, ...}: +{ config, pkgs, ... }: with pkgs.lib; + let - isEnabled = config.boot.loader.grub.memtest86; memtest86 = pkgs.memtest86plus; in + { options = { + boot.loader.grub.memtest86 = mkOption { default = false; type = types.bool; description = '' Make Memtest86+, a memory testing program, available from the - GRUB menu. + GRUB boot menu. ''; }; }; - config.boot.loader.grub = mkIf isEnabled { - extraEntries = if config.boot.loader.grub.version == 2 then - '' - menuentry "${memtest86.name}" { - linux16 @bootRoot@/memtest.bin - } - '' + config = mkIf config.boot.loader.grub.memtest86 { + + boot.loader.grub.extraEntries = + if config.boot.loader.grub.version == 2 then + '' + menuentry "Memtest86+" { + linux16 @bootRoot@/memtest.bin + } + '' else - '' - menuentry "${memtest86.name}" - linux16 @bootRoot@/memtest.bin - ''; - extraPrepareConfig = - '' - ${pkgs.coreutils}/bin/cp ${memtest86}/memtest.bin /boot/memtest.bin; - ''; + '' + menuentry "Memtest86+" + linux16 @bootRoot@/memtest.bin + ''; + + boot.loader.grub.extraFiles."memtest.bin" = "${memtest86}/memtest.bin"; + }; } |