{ nixpkgs }: name : { dualBoot ? false } : let lib = nixpkgs.lib; configPath = ./machines/${name}.nix; machineConfig = if builtins.pathExists configPath then configPath else ./hardware/base.nix; in lib.nixosSystem { system = "x86_64-linux"; modules = [ ( { config, pkgs, lib, ... }: { imports = [ machineConfig ./config/custom-build-vm.nix ]; system.stateVersion = "23.11"; virtualisation = let vmConfig = { virtualisation = { sharedHostKeys = true; virt-viewer = true; }; }; in { vmVariant = vmConfig; vmVariantWithBootLoader = vmConfig; }; # Networking networking.hostName = name; }) ]; }