nixos: loader: added generic config.boot.loader.timeout option

timeout options of grub and gummiboot will inherit the value of this
option by default.

Changed files
+20 -2
nixos
modules
system
boot
loader
+1
nixos/modules/module-list.nix
···
./system/boot/kernel.nix
./system/boot/kexec.nix
./system/boot/loader/efi.nix
+
./system/boot/loader/loader.nix
./system/boot/loader/generations-dir/generations-dir.nix
./system/boot/loader/grub/grub.nix
./system/boot/loader/grub/ipxe.nix
+1 -1
nixos/modules/system/boot/loader/grub/grub.nix
···
};
timeout = mkOption {
-
default = 5;
+
default = if (config.boot.loader.timeout != null) then config.boot.loader.timeout else -1;
type = types.int;
description = ''
Timeout (in seconds) until GRUB boots the default menu item.
+3 -1
nixos/modules/system/boot/loader/gummiboot/gummiboot.nix
···
};
timeout = mkOption {
-
default = null;
+
default = if (config.boot.loader.timeout != null) then
+
(if (config.boot.loader.timeout == 0) then null else config.boot.loader.timeout)
+
else config.boot.loader.timeout;
example = 4;
+15
nixos/modules/system/boot/loader/loader.nix
···
+
{ config, lib, pkgs, ... }:
+
+
with lib;
+
+
{
+
options = {
+
boot.loader.timeout = mkOption {
+
default = 5;
+
type = types.nullOr types.int;
+
description = ''
+
Timeout (in seconds) until loader boots the default menu item. Use null if the loader menu should be displayed indefinitely.
+
'';
+
};
+
};
+
}