mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-13 21:50:33 +03:00
nixos/generic-extlinux-compatible: introduce boot.loader.generic-extlinux-compatible.populateCmd
This option exposes the builder command used to populate an image, honoring all options except the -c <path-to-default-configuration> argument. Useful to have for sdImage.populateRootCommands. Special care needs to be taken w.r.t cross - the populate command runs on the host platform, the activation script on the build platform (so the builders differ)
This commit is contained in:
parent
43424688db
commit
54129e72b4
1 changed files with 24 additions and 4 deletions
|
@ -8,7 +8,10 @@ let
|
||||||
|
|
||||||
timeoutStr = if blCfg.timeout == null then "-1" else toString blCfg.timeout;
|
timeoutStr = if blCfg.timeout == null then "-1" else toString blCfg.timeout;
|
||||||
|
|
||||||
|
# The builder used to write during system activation
|
||||||
builder = import ./extlinux-conf-builder.nix { inherit pkgs; };
|
builder = import ./extlinux-conf-builder.nix { inherit pkgs; };
|
||||||
|
# The builder exposed in populateCmd, which runs on the build architecture
|
||||||
|
populateBuilder = import ./extlinux-conf-builder.nix { pkgs = pkgs.buildPackages; };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options = {
|
options = {
|
||||||
|
@ -34,11 +37,28 @@ in
|
||||||
Maximum number of configurations in the boot menu.
|
Maximum number of configurations in the boot menu.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
populateCmd = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
readOnly = true;
|
||||||
|
description = ''
|
||||||
|
Contains the builder command used to populate an image,
|
||||||
|
honoring all options except the -c <path-to-default-configuration>
|
||||||
|
argument.
|
||||||
|
Useful to have for sdImage.populateRootCommands
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = let
|
||||||
system.build.installBootLoader = "${builder} -g ${toString cfg.configurationLimit} -t ${timeoutStr} -c";
|
builderArgs = "-g ${toString cfg.configurationLimit} -t ${timeoutStr}";
|
||||||
system.boot.loader.id = "generic-extlinux-compatible";
|
in
|
||||||
};
|
mkIf cfg.enable {
|
||||||
|
system.build.installBootLoader = "${builder} ${builderArgs} -c";
|
||||||
|
system.boot.loader.id = "generic-extlinux-compatible";
|
||||||
|
|
||||||
|
boot.loader.generic-extlinux-compatible.populateCmd = "${populateBuilder} ${builderArgs}";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue