NixOSConfig/lib/system.nix

42 lines
1.1 KiB
Nix

{ 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;
})
];
}