aboutsummaryrefslogtreecommitdiff
path: root/hosts/eurovm/hardware.nix
diff options
context:
space:
mode:
authorKaran Jayachandra <karan.jayachandra@nxp.com>2026-07-17 14:34:18 +0200
committerKaran Jayachandra <karan.jayachandra@nxp.com>2026-07-17 14:34:18 +0200
commit0d0788cd4ee378fba19e47a2c5d5527c196b65e0 (patch)
tree0fbd0e2644e94e0227005947004541fd4ff4d53e /hosts/eurovm/hardware.nix
Initial commit
Diffstat (limited to 'hosts/eurovm/hardware.nix')
-rw-r--r--hosts/eurovm/hardware.nix32
1 files changed, 32 insertions, 0 deletions
diff --git a/hosts/eurovm/hardware.nix b/hosts/eurovm/hardware.nix
new file mode 100644
index 0000000..50f768c
--- /dev/null
+++ b/hosts/eurovm/hardware.nix
@@ -0,0 +1,32 @@
+{ modulesPath, ... }:
+
+{
+ imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
+
+ # Hetzner Cloud uses virtio block devices and a BIOS boot (non-EFI for older
+ # instances; newer CX instances support UEFI - disko.nix uses GPT + BIOS-boot
+ # partition so it works on both).
+ boot.loader.grub = {
+ enable = true;
+ # disko will set boot.loader.grub.device via the disk configuration
+ };
+
+ boot.initrd.availableKernelModules = [
+ "ata_piix"
+ "uhci_hcd"
+ "virtio_pci"
+ "virtio_scsi"
+ "sd_mod"
+ "sr_mod"
+ ];
+
+ boot.kernelModules = [ "kvm-intel" ];
+
+ # Hetzner Cloud networking: single public interface
+ networking = {
+ useDHCP = false;
+ interfaces.eth0.useDHCP = true;
+ # IPv6 is assigned via SLAAC on Hetzner
+ interfaces.eth0.ipv6.addresses = [];
+ };
+}