2023-12-01 11:51:55 +00:00
|
|
|
{ nixpkgs }:
|
|
|
|
name :
|
|
|
|
{ dualBoot ? false } :
|
|
|
|
let
|
|
|
|
lib = nixpkgs.lib;
|
2023-12-01 14:18:19 +00:00
|
|
|
configPath = ./machines/${name}.nix;
|
2023-12-01 15:04:29 +00:00
|
|
|
machineConfig =
|
|
|
|
if builtins.pathExists configPath then
|
|
|
|
configPath
|
|
|
|
else
|
|
|
|
./hardware/base.nix;
|
2023-12-01 11:51:55 +00:00
|
|
|
in
|
|
|
|
lib.nixosSystem {
|
|
|
|
system = "x86_64-linux";
|
|
|
|
modules = [
|
|
|
|
(
|
2024-04-09 21:10:46 +00:00
|
|
|
{ config, pkgs, lib, ... }: {
|
2023-12-01 15:04:29 +00:00
|
|
|
imports = [
|
|
|
|
machineConfig
|
2024-04-30 11:08:18 +00:00
|
|
|
./config/custom-build-vm.nix
|
2023-12-01 11:51:55 +00:00
|
|
|
];
|
2024-04-06 21:43:37 +00:00
|
|
|
|
2024-05-01 03:23:58 +00:00
|
|
|
system.stateVersion = "23.11";
|
|
|
|
|
2024-05-01 02:55:17 +00:00
|
|
|
virtualisation =
|
|
|
|
let
|
|
|
|
vmConfig = {
|
|
|
|
virtualisation = {
|
|
|
|
sharedHostKeys = true;
|
|
|
|
virt-viewer = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
in {
|
|
|
|
vmVariant = vmConfig;
|
|
|
|
vmVariantWithBootLoader = vmConfig;
|
|
|
|
};
|
|
|
|
|
2024-04-09 12:30:36 +00:00
|
|
|
# Networking
|
|
|
|
networking.hostName = name;
|
2023-12-01 11:51:55 +00:00
|
|
|
})
|
|
|
|
];
|
|
|
|
}
|