Merge pull request 'drop requirement for importing qemu-vm.nix' (#352) from Mic92-main into main
This commit is contained in:
commit
e5cfafe924
@ -1,8 +1,47 @@
|
||||
{ config, options, lib, ... }: {
|
||||
system.clan.vm.config = {
|
||||
enabled = options.virtualisation ? cores;
|
||||
} // (lib.optionalAttrs (options.virtualisation ? cores) {
|
||||
inherit (config.virtualisation) cores graphics;
|
||||
memory_size = config.virtualisation.memorySize;
|
||||
});
|
||||
{ lib, config, options, ... }:
|
||||
{
|
||||
options = {
|
||||
clan.virtualisation = {
|
||||
cores = lib.mkOption {
|
||||
type = lib.types.ints.positive;
|
||||
default = 1;
|
||||
description = lib.mdDoc ''
|
||||
Specify the number of cores the guest is permitted to use.
|
||||
The number can be higher than the available cores on the
|
||||
host system.
|
||||
'';
|
||||
};
|
||||
|
||||
memorySize = lib.mkOption {
|
||||
type = lib.types.ints.positive;
|
||||
default = 1024;
|
||||
description = lib.mdDoc ''
|
||||
The memory size in megabytes of the virtual machine.
|
||||
'';
|
||||
};
|
||||
|
||||
graphics = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
Whether to run QEMU with a graphics window, or in nographic mode.
|
||||
Serial console will be enabled on both settings, but this will
|
||||
change the preferred console.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
system.clan.vm.config = {
|
||||
inherit (config.clan.virtualisation) cores graphics;
|
||||
memory_size = config.clan.virtualisation.memorySize;
|
||||
};
|
||||
|
||||
virtualisation = lib.optionalAttrs (options.virtualisation ? cores) {
|
||||
memorySize = lib.mkDefault config.clan.virtualisation.memorySize;
|
||||
graphics = lib.mkDefault config.clan.virtualisation.graphics;
|
||||
cores = lib.mkDefault config.clan.virtualisation.cores;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -52,8 +52,6 @@ def schema_for_machine(machine_name: str, flake: Optional[Path] = None) -> dict:
|
||||
flags=[
|
||||
"--impure",
|
||||
"--show-trace",
|
||||
"--extra-experimental-features",
|
||||
"nix-command flakes",
|
||||
"--expr",
|
||||
f"""
|
||||
let
|
||||
|
@ -10,8 +10,7 @@
|
||||
clan = clan-core.lib.buildClan {
|
||||
directory = self;
|
||||
machines = {
|
||||
vm1 = { modulesPath, lib, ... }: {
|
||||
imports = [ "${toString modulesPath}/virtualisation/qemu-vm.nix" ];
|
||||
vm1 = { lib, ... }: {
|
||||
clan.networking.deploymentAddress = "__CLAN_DEPLOYMENT_ADDRESS__";
|
||||
sops.age.keyFile = "__CLAN_SOPS_KEY_PATH__";
|
||||
system.stateVersion = lib.version;
|
||||
|
Loading…
Reference in New Issue
Block a user