nixcfg/hosts/fallarbor/hardware.nix

87 lines
2.1 KiB
Nix

{
config,
inputs,
lib,
pkgs,
...
}: {
boot = {
blacklistedKernelModules = ["cros-usbpd-charger"];
extraModulePackages = with config.boot.kernelPackages; [
framework-laptop-kmod
];
initrd = {
availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod"];
kernelModules = ["i915"];
};
kernelModules = [
# https://github.com/DHowett/framework-laptop-kmod?tab=readme-ov-file#usage
"cros_ec_lpcs"
"cros_ec"
"i915"
"kvm-intel"
];
kernelPackages = pkgs.linuxPackages_latest;
kernelParams = [
"nvme.noacpi=1" # https://community.frame.work/t/linux-battery-life-tuning/6665/156
];
};
environment = {
sessionVariables = {
LIBVA_DRIVER_NAME = "iHD"; # Force intel-media-driver
VDPAU_DRIVER = "va_gl";
};
systemPackages = [pkgs.framework-tool] ++ lib.optional (pkgs ? "fw-ectool") pkgs.fw-ectool;
};
hardware = {
acpilight.enable = true;
cpu.intel.updateMicrocode = true;
enableAllFirmware = true;
opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
extraPackages = with pkgs; [
intel-media-driver # LIBVA_DRIVER_NAME=iHD
intel-vaapi-driver # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
libvdpau-va-gl
];
extraPackages32 = with pkgs.driversi686Linux; [
intel-media-driver # LIBVA_DRIVER_NAME=iHD
intel-vaapi-driver # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
libvdpau-va-gl
];
};
sensor.iio.enable = true;
};
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
# Save power/better manage heat & fans.
powerManagement.powertop.enable = true;
services = {
fprintd.enable = true;
fstrim.enable = true;
fwupd.enable = true;
thermald.enable = true;
udev.extraRules = ''
# Ethernet expansion card support
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0bda", ATTR{idProduct}=="8156", ATTR{power/autosuspend}="20"
'';
};
}