{ config, lib, pkgs, ... }: with lib; let cfg = config.grub2; in { options.grub2 = { enable = mkEnableOption "grub2 coreboot primary payload"; font = mkOption { type = types.path; default = "${pkgs.unifont}/share/fonts/truetype/unifont.ttf"; }; }; config = lib.mkIf cfg.enable { coreboot.extraFiles = { "fallback/payload" = { type = "payload"; src = "${pkgs.coreboot-payload-grub2}/default_payload.elf"; }; "etc/grub.cfg".src = ./files/grub.cfg; "etc/background.png".src = ./files/background.png; "font.pf2" = { src = pkgs.runCommand "font.pf2" { buildInputs = with pkgs; [ grub2 ]; } '' grub-mkfont -o $out ${cfg.font} ''; }; }; }; }