ec2/amazon-image: use system.build.image

and rename:
- amazonImage.name -> image.baseName

phaer fdb144fb a582fba7

Changed files
+23 -15
nixos
maintainers
scripts
tests
+22 -14
nixos/maintainers/scripts/ec2/amazon-image.nix
···
imports = [
../../../modules/virtualisation/amazon-image.nix
../../../modules/virtualisation/disk-size-option.nix
+
../../../modules/image/file-options.nix
(lib.mkRenamedOptionModuleWith {
sinceRelease = 2411;
from = [
···
"diskSize"
];
})
+
(lib.mkRenamedOptionModuleWith {
+
sinceRelease = 2505;
+
from = [
+
"amazonImage"
+
"name"
+
];
+
to = [
+
"image"
+
"baseName"
+
];
+
})
];
# Amazon recommends setting this to the highest possible value for a good EBS
···
[ "nvme_core.io_timeout=${timeout}" ];
options.amazonImage = {
-
name = mkOption {
-
type = types.str;
-
description = "The name of the generated derivation";
-
default = "nixos-amazon-image-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}";
-
};
-
contents = mkOption {
example = literalExpression ''
[ { source = pkgs.memtest86 + "/memtest.bin";
···
config.virtualisation.diskSize = lib.mkOverride 1490 (3 * 1024);
config.virtualisation.diskSizeAutoSupported = !config.ec2.zfs.enable;
+
config.system.nixos.tags = [ "amazon" ];
+
config.system.build.image = config.system.build.amazonImage;
+
config.image.extension = cfg.format;
+
config.system.build.amazonImage =
let
configFile = pkgs.writeText "configuration.nix" ''
···
configFile
pkgs
;
-
inherit (cfg) contents format name;
+
inherit (cfg) contents format;
+
name = config.image.baseName;
includeChannel = true;
···
postVM = ''
extension=''${rootDiskImage##*.}
-
friendlyName=$out/${cfg.name}
+
friendlyName=$out/${config.image.baseName}
rootDisk="$friendlyName.root.$extension"
bootDisk="$friendlyName.boot.$extension"
mv "$rootDiskImage" "$rootDisk"
···
pkgs
;
-
inherit (cfg) contents format name;
+
inherit (cfg) contents format;
+
inherit (config.image) baseName;
+
name = config.image.baseName;
fsType = "ext4";
partitionTableType = if config.ec2.efi then "efi" else "legacy+gpt";
···
inherit (config.virtualisation) diskSize;
postVM = ''
-
extension=''${diskImage##*.}
-
friendlyName=$out/${cfg.name}.$extension
-
mv "$diskImage" "$friendlyName"
-
diskImage=$friendlyName
-
mkdir -p $out/nix-support
echo "file ${cfg.format} $diskImage" >> $out/nix-support/hydra-build-products
+1 -1
nixos/tests/ec2.nix
···
}
];
}).config;
-
image = "${imageCfg.system.build.amazonImage}/${imageCfg.amazonImage.name}.qcow2";
+
image = "${imageCfg.system.build.amazonImage}/${imageCfg.image.imageFile}";
sshKeys = import ./ssh-keys.nix pkgs;
snakeOilPrivateKey = sshKeys.snakeOilPrivateKey.text;