{ config, lib, modulesPath, ... }: let # Import nodes nodes = import ./../../nodes.nix; myNode = nodes."${config.hostName}"; hasGrub = nd: lib.hasAttr "grubDevice" nd; bootLoader = if hasGrub myNode then { grub.enable = true; grub.device = myNode.grubDevice; } else { systemd-boot.enable = true; efi.canTouchEfiVariables = true; }; in { imports = [ (modulesPath + "/profiles/qemu-guest.nix") (modulesPath + "/virtualisation/qemu-guest-agent.nix") ]; services.qemuGuest.enable = true; fileSystems = myNode.fileSystems; boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ]; boot.loader = bootLoader; nixpkgs.hostPlatform = lib.mkDefault myNode.system; }