about summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authornikstur <nikstur@outlook.com>2024-03-20 10:41:59 +0100
committerGitHub <noreply@github.com>2024-03-20 10:41:59 +0100
commitd5d1e6a4fa46c41b08ddd945df0877bf7186ad73 (patch)
treeed6a3dbef6be0d1d97a12a1f524e9cc13e16b005 /nixos
parent39ebd395cc0c79675e5b84ec5e7382a8d4e7759f (diff)
parente9fa0ec5fe1b29d34f7589bc59033b412e065687 (diff)
downloadnixlib-d5d1e6a4fa46c41b08ddd945df0877bf7186ad73.tar
nixlib-d5d1e6a4fa46c41b08ddd945df0877bf7186ad73.tar.gz
nixlib-d5d1e6a4fa46c41b08ddd945df0877bf7186ad73.tar.bz2
nixlib-d5d1e6a4fa46c41b08ddd945df0877bf7186ad73.tar.lz
nixlib-d5d1e6a4fa46c41b08ddd945df0877bf7186ad73.tar.xz
nixlib-d5d1e6a4fa46c41b08ddd945df0877bf7186ad73.tar.zst
nixlib-d5d1e6a4fa46c41b08ddd945df0877bf7186ad73.zip
Merge pull request #297227 from WilliButz/uki/expose-rendered-config
nixos/uki: add configFile option
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/system/boot/uki.nix15
1 files changed, 12 insertions, 3 deletions
diff --git a/nixos/modules/system/boot/uki.nix b/nixos/modules/system/boot/uki.nix
index 0965b887c12e..c8d3c2f6605f 100644
--- a/nixos/modules/system/boot/uki.nix
+++ b/nixos/modules/system/boot/uki.nix
@@ -7,8 +7,6 @@ let
   inherit (pkgs.stdenv.hostPlatform) efiArch;
 
   format = pkgs.formats.ini { };
-  ukifyConfig = format.generate "ukify.conf" cfg.settings;
-
 in
 
 {
@@ -48,6 +46,15 @@ in
           contains and how it is built.
         '';
       };
+
+      configFile = lib.mkOption {
+        type = lib.types.path;
+        description = lib.mdDoc ''
+          The configuration file passed to {manpage}`ukify(1)` to create the UKI.
+
+          By default this configuration file is created from {option}`boot.uki.settings`.
+        '';
+      };
     };
 
     system.boot.loader.ukiFile = lib.mkOption {
@@ -80,6 +87,8 @@ in
       };
     };
 
+    boot.uki.configFile = lib.mkOptionDefault (format.generate "ukify.conf" cfg.settings);
+
     system.boot.loader.ukiFile =
       let
         name = config.boot.uki.name;
@@ -92,7 +101,7 @@ in
     system.build.uki = pkgs.runCommand config.system.boot.loader.ukiFile { } ''
       mkdir -p $out
       ${pkgs.buildPackages.systemdUkify}/lib/systemd/ukify build \
-        --config=${ukifyConfig} \
+        --config=${cfg.configFile} \
         --output="$out/${config.system.boot.loader.ukiFile}"
     '';