aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMilan Pässler <milan@petabyte.dev>2020-10-11 20:10:48 +0200
committerMilan Pässler <milan@petabyte.dev>2020-10-11 20:10:48 +0200
commit1dfba261807ac42e67acf0275b5dc07912d29b24 (patch)
treef7eaa83ed2bdca528bd50c18145a5eae1a860fc9
parent8c5f8519ba80ed7295ee4fe5c8e5a446b54da6a3 (diff)
add modules for new secondary payloads
-rw-r--r--configs/milan-x1c.nix3
-rw-r--r--modules/coreinfo/default.nix25
-rw-r--r--modules/default.nix3
-rw-r--r--modules/nvramcui/default.nix20
-rw-r--r--modules/tint/default.nix20
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";
+ };
+ };
+ };
+}