main
1{ lib, ... }:
2{
3 console.keyMap = lib.mkForce "us";
4 boot.loader.grub.device = "/dev/vda";
5 boot.loader.grub.enable = lib.mkForce true;
6 boot.loader.systemd-boot.enable = lib.mkForce false;
7 boot.initrd.systemd.enable = lib.mkForce false;
8
9 ## From qemu-quest.nix
10 boot.initrd.availableKernelModules = [
11 "virtio_net"
12 "virtio_pci"
13 "virtio_mmio"
14 "virtio_blk"
15 "virtio_scsi"
16 "9p"
17 "9pnet_virtio"
18 ];
19 boot.initrd.kernelModules = [
20 "virtio_balloon"
21 "virtio_console"
22 "virtio_rng"
23 ];
24
25 boot.initrd.postDeviceCommands = ''
26 # Set the system time from the hardware clock to work around a
27 # bug in qemu-kvm > 1.5.2 (where the VM clock is initialised
28 # to the *boot time* of the host).
29 hwclock -s
30 '';
31
32 # VPS optimization: No physical hardware, no firmware needed
33 hardware.enableRedistributableFirmware = lib.mkForce false;
34 hardware.enableAllFirmware = lib.mkForce false;
35
36 # VPS optimization: No firmware update service needed
37 services.fwupd.enable = lib.mkForce false;
38}