{ config, pkgs, ... }: { # boot settings boot = { kernelPackages = pkgs.linuxPackages_latest; # do not use default kernel module (r8169) for the realtek rtl8125 ethernet # controller, as it has issues with packet loss and can't keep up with the high # 2.5g link speed. # the out-of-tree module r8125 also has issues however, as apparently when sending # off packets the hardware offloading done on the network chip fails massively, # corrupting a huge amount of packets, breaking off connections and distorting video. # the fix to disable the hardware offloading is handled by systemd-networkd below. blacklistedKernelModules = [ "r8169" ]; extraModulePackages = [ config.boot.kernelPackages.r8125 ]; kernelModules = [ "r8125" ]; loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; }; initrd.systemd.enable = true; }; # hardware settings hardware = { enableRedistributableFirmware = true; enableAllFirmware = true; graphics = { enable = true; enable32Bit = true; extraPackages = with pkgs; [ vpl-gpu-rt intel-media-driver intel-vaapi-driver intel-compute-runtime intel-ocl ]; }; }; # swap alternative zramSwap = { enable = true; algorithm = "zstd"; swapDevices = 1; memoryPercent = 50; }; # storage fileSystems = { "/mnt/Kui" = { device = "/dev/disk/by-label/Kui"; fsType = "ext4"; options = [ "defaults" "users" "nofail" "exec" "rw" ]; }; }; # sound security.rtkit.enable = true; services.pipewire = { enable = true; alsa = { enable = true; support32Bit = true; }; pulse.enable = true; jack.enable = true; }; }