dotfiles/nix/nixos-modules/efi-grub.nix

38 lines
824 B
Nix
Raw Normal View History

{ config, lib, ... }:
with lib;
let
cfg = config.magic_rb.grub;
in
{
options.magic_rb.grub = with lib; {
enable = mkEnableOption "GRUB preconfigured for my setup style";
efi = mkOption {
type = types.submodule {
options.enable = mkEnableOption "EFI support";
};
default = {};
};
devices = mkOption {
description = "GRUB devices for legacy";
default = [];
type = types.list;
};
};
config = {
boot.loader = mkIf cfg.enable {
systemd-boot.enable = false;
efi.canTouchEfiVariables = cfg.efi.enable;
efi.efiSysMountPoint = "/boot/EFI";
grub = {
enable = true;
efiSupport = cfg.efi.enable;
version = 2;
devices = if cfg.efi.enable then [ "nodev" ] else cfg.devices;
};
};
};
}