nixos/grub: Add support for timeoutStyle
This commit is contained in:
parent
f12b216574
commit
50063bf9d6
|
@ -63,7 +63,9 @@ let
|
|||
extraGrubInstallArgs
|
||||
extraEntriesBeforeNixOS extraPrepareConfig configurationLimit copyKernels
|
||||
default fsIdentifier efiSupport efiInstallAsRemovable gfxmodeEfi gfxmodeBios gfxpayloadEfi gfxpayloadBios
|
||||
users;
|
||||
users
|
||||
timeoutStyle
|
||||
;
|
||||
path = with pkgs; makeBinPath (
|
||||
[ coreutils gnused gnugrep findutils diffutils btrfs-progs util-linux mdadm ]
|
||||
++ optional cfg.efiSupport efibootmgr
|
||||
|
@ -425,6 +427,28 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
timeoutStyle = mkOption {
|
||||
default = "menu";
|
||||
type = types.enum [ "menu" "countdown" "hidden" ];
|
||||
description = lib.mdDoc ''
|
||||
- `menu` shows the menu.
|
||||
- `countdown` uses a text-mode countdown.
|
||||
- `hidden` hides GRUB entirely.
|
||||
|
||||
When using a theme, the default value (`menu`) is appropriate for the graphical countdown.
|
||||
|
||||
When attempting to do flicker-free boot, `hidden` should be used.
|
||||
|
||||
See the [GRUB documentation section about `timeout_style`](https://www.gnu.org/software/grub/manual/grub/html_node/timeout.html).
|
||||
|
||||
::: {.note}
|
||||
If this option is set to ‘countdown’ or ‘hidden’ [...] and ESC or F4 are pressed, or SHIFT is held down during that time, it will display the menu and wait for input.
|
||||
:::
|
||||
|
||||
From: [Simple configuration handling page, under GRUB_TIMEOUT_STYLE](https://www.gnu.org/software/grub/manual/grub/html_node/Simple-configuration.html).
|
||||
'';
|
||||
};
|
||||
|
||||
entryOptions = mkOption {
|
||||
default = "--class nixos --unrestricted";
|
||||
type = types.nullOr types.str;
|
||||
|
|
|
@ -75,6 +75,7 @@ my $backgroundColor = get("backgroundColor");
|
|||
my $configurationLimit = int(get("configurationLimit"));
|
||||
my $copyKernels = get("copyKernels") eq "true";
|
||||
my $timeout = int(get("timeout"));
|
||||
my $timeoutStyle = get("timeoutStyle");
|
||||
my $defaultEntry = get("default");
|
||||
my $fsIdentifier = get("fsIdentifier");
|
||||
my $grubEfi = get("grubEfi");
|
||||
|
@ -319,6 +320,7 @@ $conf .= "
|
|||
set default=$defaultEntryText
|
||||
set timeout=$timeout
|
||||
fi
|
||||
set timeout_style=$timeoutStyle
|
||||
|
||||
function savedefault {
|
||||
if [ -z \"\${boot_once}\"]; then
|
||||
|
|
Loading…
Reference in a new issue