QEMU
A generic and open source machine emulator and virtualizer
Install
environment = { systemPackages = [ pkgs.qemu ]; };
Booting UEFI
To boot UEFI systems using QEMU, the UEFI firmware replacing the BIOS implementation needs to be provided while starting QEMU.
The following installs a script, that always starts QEMU with OVMF firmware implementing UEFI support.
environment = { (pkgs.writeShellScriptBin "qemu-system-x86_64-uefi" qemu-system-x86_64 \ -bios ${pkgs.OVMF.fd}/FV/OVMF.fd \ "$@" ) };