nixos/parts/vm.nix
Nickolaj Jepsen 3b0ed14d85 ready
2025-02-19 23:46:30 +01:00

41 lines
951 B
Nix

{
hostname,
version,
inputs,
...
}: let
username = "vm";
in {
perSystem = {
system,
pkgs,
...
}: {
packages.vm = inputs.nixos-generators.nixosGenerate {
specialArgs = {
inherit inputs system pkgs hostname version username;
};
modules = [
inputs.home-manager.nixosModules.home-manager
inputs.agenix.nixosModules.default
inputs.agenix-rekey.nixosModules.default
./modules/base/user.nix
./modules/required.nix
./modules/shell.nix
./modules/graphical.nix
{
users.users.${username} = {
isNormalUser = true;
extraGroups = ["wheel" "networkmanager" "libvirt" "kvm"];
};
monitors = [{resolution = "1920x1080";}];
services.qemuGuest.enable = true;
services.spice-vdagentd.enable = true;
}
];
inherit system;
format = "qcow";
};
};
}