summaryrefslogtreecommitdiff
path: root/modules/root/grub.nix
blob: 4e6a5f50ebb14f8d5a2cb17fee92ff637f19c2ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{ lib, config, ... }: {
	options = {
		grub.enable = lib.mkEnableOption "enables grub bootloader";
		grub.mode = lib.mkOption {
			type = lib.types.enum [ "efi" "bios" ];
			default = "efi";
			description = "grub mode efi or bios";
		};
		grub.biosDevice = lib.mkOption {
			type = lib.types.str;
			description = "device to install grub on";
		};
	};

	config = lib.mkIf config.grub.enable {
		boot.loader = {
			grub = {
				enable = true;
				efiSupport = config.grub.mode == "efi";
				efiInstallAsRemovable = config.grub.mode == "efi";
				device = if config.grub.mode == "bios" then config.grub.biosDevice else "nodev";
			};
			efi.efiSysMountPoint = "/boot/efi";
		};
	};
}