virtualisation/digital-ocean: use system.build.image
This commit is contained in:
@@ -14,6 +14,7 @@ in
|
|||||||
imports = [
|
imports = [
|
||||||
./digital-ocean-config.nix
|
./digital-ocean-config.nix
|
||||||
./disk-size-option.nix
|
./disk-size-option.nix
|
||||||
|
../image/file-options.nix
|
||||||
(lib.mkRenamedOptionModuleWith {
|
(lib.mkRenamedOptionModuleWith {
|
||||||
sinceRelease = 2411;
|
sinceRelease = 2411;
|
||||||
from = [
|
from = [
|
||||||
@@ -57,10 +58,33 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
#### implementation
|
#### implementation
|
||||||
config = {
|
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 {
|
system.build.digitalOceanImage = import ../../lib/make-disk-image.nix {
|
||||||
name = "digital-ocean-image";
|
name = "digital-ocean-image";
|
||||||
format = "qcow2";
|
inherit (config.image) baseName;
|
||||||
|
inherit (config.virtualisation) diskSize;
|
||||||
|
inherit
|
||||||
|
config
|
||||||
|
lib
|
||||||
|
pkgs
|
||||||
|
format
|
||||||
|
;
|
||||||
postVM =
|
postVM =
|
||||||
let
|
let
|
||||||
compress =
|
compress =
|
||||||
@@ -78,8 +102,6 @@ in
|
|||||||
config.virtualisation.digitalOcean.defaultConfigFile
|
config.virtualisation.digitalOcean.defaultConfigFile
|
||||||
else
|
else
|
||||||
cfg.configFile;
|
cfg.configFile;
|
||||||
inherit (config.virtualisation) diskSize;
|
|
||||||
inherit config lib pkgs;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user