flake.nix: add proper *-vm packages
This commit is contained in:
parent
e084a09640
commit
af4c66bb79
33
flake.nix
33
flake.nix
|
@ -216,21 +216,34 @@
|
||||||
builtins.foldl' (result: host:
|
builtins.foldl' (result: host:
|
||||||
let
|
let
|
||||||
inherit (self.nixosConfigurations.${host}) config;
|
inherit (self.nixosConfigurations.${host}) config;
|
||||||
vmConfig = (nixpkgs.lib.nixosSystem {
|
|
||||||
modules = [ { inherit config; } ];
|
|
||||||
}).config;
|
|
||||||
in
|
in
|
||||||
result //
|
result //
|
||||||
nixpkgs.lib.optionalAttrs (config.system.build ? sdImage) {
|
nixpkgs.lib.optionalAttrs (config.system.build ? sdImage) {
|
||||||
"${host}-sdImage" = config.system.build.sdImage;
|
"${host}-sdImage" = config.system.build.sdImage;
|
||||||
} //
|
} //
|
||||||
# if you want to try your containers in a vm, turn off
|
nixpkgs.lib.optionalAttrs (config.system.build ? vm) {
|
||||||
# `boot.isContainer` just for testing.
|
# boot any machine in a microvm
|
||||||
nixpkgs.lib.optionalAttrs (config.system.build ? vm && !config.boot.isContainer) {
|
"${host}-vm" = (self.nixosConfigurations.${host}
|
||||||
"${host}-vm" = vmConfig.system.build.vm
|
.extendModules {
|
||||||
.overrideAttrs (oa: {
|
modules = [
|
||||||
meta.mainProgram = "run-${host}-vm";
|
microvm.nixosModules.microvm
|
||||||
});
|
{
|
||||||
|
microvm = {
|
||||||
|
mem = 2048;
|
||||||
|
hypervisor = "qemu";
|
||||||
|
socket = null;
|
||||||
|
shares = [ {
|
||||||
|
tag = "ro-store";
|
||||||
|
source = "/nix/store";
|
||||||
|
mountPoint = "/nix/.ro-store";
|
||||||
|
} ];
|
||||||
|
};
|
||||||
|
boot.isContainer = lib.mkForce false;
|
||||||
|
fileSystems."/".fsType = lib.mkForce "tmpfs";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
})
|
||||||
|
.config.microvm.declaredRunner;
|
||||||
} //
|
} //
|
||||||
nixpkgs.lib.optionalAttrs (config.system.build ? tftproot) {
|
nixpkgs.lib.optionalAttrs (config.system.build ? tftproot) {
|
||||||
"${host}-tftproot" = config.system.build.tftproot;
|
"${host}-tftproot" = config.system.build.tftproot;
|
||||||
|
|
Loading…
Reference in New Issue