summary refs log tree commit diff
path: root/modules/system/boot/loader/grub/memtest.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/system/boot/loader/grub/memtest.nix')
-rw-r--r--modules/system/boot/loader/grub/memtest.nix41
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";
+
   };
 }