57 lines
1.2 KiB
Nix
Raw Normal View History

2025-01-20 22:35:40 -05:00
{
config,
lib,
...
}:
let
cfg = config.nmasur.presets.services.grub;
in
{
options.nmasur.presets.services.grub.enable = lib.mkEnableOption "Grub bootloader";
config = lib.mkIf cfg.enable {
boot.loader = {
grub = {
enable = true;
# Not sure what this does, but it involves the UEFI/BIOS
efiSupport = true;
# Check for other OSes and make them available
useOSProber = true;
# Attempt to display GRUB on widescreen monitor
gfxmodeEfi = "1920x1080";
# Limit the total number of configurations to rollback
configurationLimit = 25;
# Install GRUB onto the boot disk
# device = config.fileSystems."/boot".device;
# Don't install GRUB, required for UEFI?
device = "nodev";
# Display menu indefinitely if holding shift key
extraConfig = ''
if keystatus --shift ; then
set timeout=-1
else
set timeout=3
fi
'';
};
# Always display menu indefinitely; default is 5 seconds
# timeout = null;
# Allows GRUB to interact with the UEFI/BIOS I guess
efi.canTouchEfiVariables = true;
};
};
}