forked from mirrors/nixpkgs
boot.loader.systemd-boot: add extraInstallCommands option (#200715)
This commit is contained in:
parent
b60aa0e01c
commit
5bc1b01a40
|
@ -57,6 +57,12 @@ let
|
|||
--disallow-untyped-defs \
|
||||
$out
|
||||
'';
|
||||
|
||||
finalSystemdBootBuilder = pkgs.writeScript "install-systemd-boot.sh" ''
|
||||
#!${pkgs.runtimeShell}
|
||||
${checkedSystemdBootBuilder} "$@"
|
||||
${cfg.extraInstallCommands}
|
||||
'';
|
||||
in {
|
||||
|
||||
imports =
|
||||
|
@ -99,6 +105,22 @@ in {
|
|||
'';
|
||||
};
|
||||
|
||||
extraInstallCommands = mkOption {
|
||||
default = "";
|
||||
example = ''
|
||||
default_cfg=$(cat /boot/loader/loader.conf | grep default | awk '{print $2}')
|
||||
init_value=$(cat /boot/loader/entries/$default_cfg | grep init= | awk '{print $2}')
|
||||
sed -i "s|@INIT@|$init_value|g" /boot/custom/config_with_placeholder.conf
|
||||
'';
|
||||
type = types.lines;
|
||||
description = lib.mdDoc ''
|
||||
Additional shell commands inserted in the bootloader installer
|
||||
script after generating menu entries. It can be used to expand
|
||||
on extra boot entries that cannot incorporate certain pieces of
|
||||
information (such as the resulting `init=` kernel parameter).
|
||||
'';
|
||||
};
|
||||
|
||||
consoleMode = mkOption {
|
||||
default = "keep";
|
||||
|
||||
|
@ -277,7 +299,7 @@ in {
|
|||
];
|
||||
|
||||
system = {
|
||||
build.installBootLoader = checkedSystemdBootBuilder;
|
||||
build.installBootLoader = finalSystemdBootBuilder;
|
||||
|
||||
boot.loader.id = "systemd-boot";
|
||||
|
||||
|
|
Loading…
Reference in a new issue