1{ pkgs, modulesPath, ... }:
2let
3 fileSystems = {
4 btrfs = true;
5 ext4 = true;
6 vfat = true;
7 zfs = true;
8 };
9in
10{
11 imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
12 boot = {
13 zfs.devNodes = "/dev/";
14 loader = {
15 grub.device = "/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_21170924";
16 grub.enable = true;
17 };
18 initrd = {
19 availableKernelModules = [
20 "ata_piix"
21 "uhci_hcd"
22 "xen_blkfront"
23 "ahci"
24 "xhci_pci"
25 "virtio_pci"
26 "sd_mod"
27 "sr_mod"
28 ];
29 kernelModules = [ "nvme" ];
30 supportedFilesystems = fileSystems;
31 };
32 supportedFilesystems = fileSystems;
33 kernelPackages = pkgs.linuxPackages_6_1;
34 kernel.sysctl = {
35 "net.ipv4.ip_forward" = 1;
36 "net.ipv6.conf.all.forwarding" = 1;
37 "net.ipv4.conf.default.rp_filter" = 0;
38 "net.ipv4.conf.all.rp_filter" = 0;
39 };
40 };
41 services.udev.extraRules = ''
42 ACTION=="add|change", KERNEL=="sd[a-z]*[0-9]*|mmcblk[0-9]*p[0-9]*|nvme[0-9]*n[0-9]*p[0-9]*", ENV{ID_FS_TYPE}=="zfs_member", ATTR{../queue/scheduler}="none"
43 '';
44}