aboutsummaryrefslogtreecommitdiff
path: root/infra/corenix/modules/coreinfo/default.nix
{ config, lib, pkgs, ... }:

with lib;

let cfg = config.coreinfo;
in {
  options.coreinfo = {
    enable = mkEnableOption "coreinfo coreboot secondary payload";

    coreinfoConfig = mkOption {
      type = types.attrsOf (types.nullOr types.str);
      default = { };
    };
  };

  config = lib.mkIf cfg.enable {
    corenix.extraFiles = {
      "img/coreinfo" = {
        type = "payload";
        src = "${
            pkgs.coreboot-payload-coreinfo.override {
              inherit (cfg) coreinfoConfig;
            }
          }/coreinfo.elf";
      };
    };
  };
}