diff options
author | Milan Pässler <milan@petabyte.dev> | 2020-10-11 20:10:48 +0200 |
---|---|---|
committer | Milan Pässler <milan@petabyte.dev> | 2020-10-11 20:10:48 +0200 |
commit | 1dfba261807ac42e67acf0275b5dc07912d29b24 (patch) | |
tree | f7eaa83ed2bdca528bd50c18145a5eae1a860fc9 | |
parent | 8c5f8519ba80ed7295ee4fe5c8e5a446b54da6a3 (diff) |
add modules for new secondary payloads
-rw-r--r-- | configs/milan-x1c.nix | 3 | ||||
-rw-r--r-- | modules/coreinfo/default.nix | 25 | ||||
-rw-r--r-- | modules/default.nix | 3 | ||||
-rw-r--r-- | modules/nvramcui/default.nix | 20 | ||||
-rw-r--r-- | modules/tint/default.nix | 20 |
5 files changed, 71 insertions, 0 deletions
diff --git a/configs/milan-x1c.nix b/configs/milan-x1c.nix index 0826aaad3a86..2aa75cfbd19b 100644 --- a/configs/milan-x1c.nix +++ b/configs/milan-x1c.nix @@ -12,4 +12,7 @@ }; grub2.enable = true; + coreinfo.enable = true; + nvramcui.enable = true; + tint.enable = true; } diff --git a/modules/coreinfo/default.nix b/modules/coreinfo/default.nix new file mode 100644 index 000000000000..7689ba42a15f --- /dev/null +++ b/modules/coreinfo/default.nix @@ -0,0 +1,25 @@ +{ 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); + }; + }; + + config = lib.mkIf cfg.enable { + corenix.extraFiles = { + "img/coreinfo" = { + type = "payload"; + src = "${pkgs.coreboot-payload-coreinfo.override { + inherit (cfg) coreinfoConfig; + }}/coreinfo.elf"; + }; + }; + }; +} diff --git a/modules/default.nix b/modules/default.nix index bb1dc181aae2..b42465acdbd3 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -5,5 +5,8 @@ ./corenix ./grub2 ./tianocore + ./tint + ./nvramcui + ./coreinfo ]; } diff --git a/modules/nvramcui/default.nix b/modules/nvramcui/default.nix new file mode 100644 index 000000000000..850fac91ad68 --- /dev/null +++ b/modules/nvramcui/default.nix @@ -0,0 +1,20 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.nvramcui; +in { + options.nvramcui = { + enable = mkEnableOption "nvramcui coreboot secondary payload"; + }; + + config = lib.mkIf cfg.enable { + corenix.extraFiles = { + "img/nvramcui" = { + type = "payload"; + src = "${pkgs.coreboot-payload-nvramcui}/nvramcui.elf"; + }; + }; + }; +} diff --git a/modules/tint/default.nix b/modules/tint/default.nix new file mode 100644 index 000000000000..df0ed6851a2a --- /dev/null +++ b/modules/tint/default.nix @@ -0,0 +1,20 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.tint; +in { + options.tint = { + enable = mkEnableOption "tint coreboot secondary payload"; + }; + + config = lib.mkIf cfg.enable { + corenix.extraFiles = { + "img/tint" = { + type = "payload"; + src = "${pkgs.coreboot-payload-tint}/tint.elf"; + }; + }; + }; +} |