nix/hosts/marvin/bootloader.nix

41 lines
1 KiB
Nix

{
pkgs,
lib,
...
}: {
boot = {
extraModulePackages = [];
kernelModules = ["kvm-amd"];
kernelPackages = pkgs.linuxKernel.packages.linux_5_18;
kernelParams = ["nohibernate"];
supportedFilesystems = lib.mkForce ["btrfs" "vfat" "f2fs" "zfs"];
zfs.devNodes = "/dev/";
# Initrd config
initrd = {
availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod"];
supportedFilesystems = ["btrfs" "vfat" "f2fs" "zfs"];
kernelModules = [];
};
# Systemd-boot config
loader = {
systemd-boot.enable = true;
systemd-boot.configurationLimit = 5;
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot/efi";
};
};
# 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"
'';
}