virtualisation/digital-ocean: use system.build.image

phaer 77fce1dc 41db5209

Changed files
+46 -24
nixos
modules
virtualisation
+46 -24
nixos/modules/virtualisation/digital-ocean-image.nix
···
imports = [
./digital-ocean-config.nix
./disk-size-option.nix
(lib.mkRenamedOptionModuleWith {
sinceRelease = 2411;
from = [
···
};
#### implementation
-
config = {
-
system.build.digitalOceanImage = import ../../lib/make-disk-image.nix {
-
name = "digital-ocean-image";
format = "qcow2";
-
postVM =
-
let
-
compress =
-
{
-
"gzip" = "${pkgs.gzip}/bin/gzip";
-
"bzip2" = "${pkgs.bzip2}/bin/bzip2";
-
}
-
.${cfg.compressionMethod};
-
in
-
''
-
${compress} $diskImage
-
'';
-
configFile =
-
if cfg.configFile == null then
-
config.virtualisation.digitalOcean.defaultConfigFile
-
else
-
cfg.configFile;
-
inherit (config.virtualisation) diskSize;
-
inherit config lib pkgs;
-
};
-
};
meta.maintainers = with maintainers; [
arianvp
···
imports = [
./digital-ocean-config.nix
./disk-size-option.nix
+
../image/file-options.nix
(lib.mkRenamedOptionModuleWith {
sinceRelease = 2411;
from = [
···
};
#### implementation
+
config =
+
let
format = "qcow2";
+
in
+
{
+
image.extension = lib.concatStringsSep "." [
+
format
+
(
+
{
+
"gzip" = "gz";
+
"bzip2" = "bz2";
+
}
+
.${cfg.compressionMethod}
+
)
+
];
+
system.nixos.tags = [ "digital-ocean" ];
+
system.build.image = config.system.build.digitalOceanImage;
+
system.build.digitalOceanImage = import ../../lib/make-disk-image.nix {
+
name = "digital-ocean-image";
+
inherit (config.image) baseName;
+
inherit (config.virtualisation) diskSize;
+
inherit
+
config
+
lib
+
pkgs
+
format
+
;
+
postVM =
+
let
+
compress =
+
{
+
"gzip" = "${pkgs.gzip}/bin/gzip";
+
"bzip2" = "${pkgs.bzip2}/bin/bzip2";
+
}
+
.${cfg.compressionMethod};
+
in
+
''
+
${compress} $diskImage
+
'';
+
configFile =
+
if cfg.configFile == null then
+
config.virtualisation.digitalOcean.defaultConfigFile
+
else
+
cfg.configFile;
+
};
+
};
meta.maintainers = with maintainers; [
arianvp