{ pkgs, ... }: let fileSystems = { btrfs = true; ext4 = true; vfat = true; zfs = true; }; in { boot = { extraModulePackages = [ ]; kernelModules = [ "kvm-amd" ]; kernelPackages = pkgs.linuxPackages_6_1; kernelParams = [ "nohibernate" ]; supportedFilesystems = fileSystems; zfs.devNodes = "/dev/"; # Initrd config initrd = { availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ]; supportedFilesystems = fileSystems; kernelModules = [ ]; }; # Systemd-boot config loader = { systemd-boot.enable = true; systemd-boot.configurationLimit = 5; efi = { canTouchEfiVariables = true; efiSysMountPoint = "/boot/efi"; }; }; kernel.sysctl = { "net.ipv4.ip_forward" = 1; "net.ipv6.conf.all.forwarding" = 1; }; # ZFS Config # I use ZFS as my bulk data storage # zfs = { # enabled = true; # }; }; # ZFS mount stuff services.udev.extraRules = '' 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" ''; }