34 lines
771 B
Nix
Raw Permalink Normal View History

2025-09-03 11:45:12 +02:00
{
config,
lib,
pkgs,
...
}:
with lib; let
cfg = config.mySystem.dev.qemu;
in {
2025-11-01 18:22:04 +01:00
options.mySystem.dev.qemu = {
enable = mkEnableOption "Enable QEMU";
users = mkOption {
type = types.listOf types.str;
default = ["phundrak"];
example = ["user1" "user2"];
};
};
2025-09-03 11:45:12 +02:00
config = mkIf cfg.enable {
2025-11-01 18:22:04 +01:00
programs.virt-manager.enable = true;
users.groups.libvirtd.members = cfg.users;
virtualisation = {
libvirtd.enable = true;
spiceUSBRedirection.enable = true;
};
2025-09-03 11:45:12 +02:00
environment.systemPackages = with pkgs; [
qemu
2025-11-01 18:22:04 +01:00
quickemu
swtpm
2025-09-03 11:45:12 +02:00
];
2025-09-03 11:45:12 +02:00
systemd.tmpfiles.rules = ["L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware"];
boot.binfmt.emulatedSystems = ["aarch64-linux"];
2025-09-03 11:45:12 +02:00
};
}