.files/nix/configurations/vanadium/kernel-overlay.nix

53 lines
1.5 KiB
Nix

final: prev: let
inherit (final) lib;
in {
linuxPackages = final.linuxPackagesFor (
prev.linuxPackages.kernel.override {
# turn this off for testing to view errors
ignoreConfigErrors = true;
structuredExtraConfig = with lib.kernel; {
# optimisation for ryzen 7
# https://wiki.gentoo.org/wiki/Ryzen
SMP = yes;
X86_X2APIC = yes;
X86_AMD_PLATFORM_DEVICE = yes;
PROCESSOR_SELECT = yes;
CPU_SUP_AMD = yes;
SCHED_MC = yes;
X86_MCE = yes;
X86_MCE_AMD = yes;
PERF_EVENTS_INTEL_RAPL = yes;
X86_AMD_PSTATE = yes;
X86_POWERNOW_K8 = no;
# # not available
# CPU_FREQ_DEFAULT_GOV_ONDEMAND = yes;
# # a suboption for ONDEMAND governor
# X86_AMD_FREQ_SENSITIVITY = yes;
# skipping firmware loading section since it's handled by other parts of nixos options
SENSORS_K10TEMP = yes;
IOMMU_SUPPORT = yes;
AMD_IOMMU = yes;
# additional chipset drivers
I2C_PIIX4 = yes;
PINCTRL = yes;
PINCTRL_AMD = yes;
CRYPTO = yes;
CRYPTO_HW = yes;
CRYPTO_DEV_CCP = yes;
CRYPTO_DEV_SP_CCP = yes;
CRYPTO_DEV_CCP_CRYPTO = yes;
CRYPTO_DEV_CCP_DD = yes;
CRYPTO_DEV_SP_PSP = yes;
# Power management controller
X86_PLATFORM_DEVICES = yes;
AMD_PMC = yes;
# My config
DRM_AMDGPU = yes; # Recent AMD GPU
HYPERVISOR_GUEST = lib.mkForce no;
};
}
);
}