nixcfg/hosts/petalburg/hardware-configuration.nix

50 lines
1.7 KiB
Nix
Raw Normal View History

2024-03-01 19:50:36 -05:00
{ config, lib, pkgs, modulesPath, ... }:
{
2024-03-24 14:06:24 -04:00
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
2024-03-01 19:50:36 -05:00
2024-03-24 14:06:24 -04:00
boot.initrd.availableKernelModules =
[ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
2024-03-01 19:50:36 -05:00
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
2024-04-05 23:12:46 -04:00
# Intel drivers with accelerated video playback support.
nixpkgs.config.packageOverrides = pkgs: {
intel-vaapi-driver =
pkgs.intel-vaapi-driver.override { enableHybridCodec = true; };
};
hardware.opengl = {
enable = 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
];
};
environment.sessionVariables = {
LIBVA_DRIVER_NAME = "iHD";
}; # Force intel-media-driver
# Enable auto-rotate and tablet mode.
hardware.sensor.iio.enable = true;
# Save power/better manage heat & fans.
powerManagement.powertop.enable = true;
services.thermald.enable = true;
2024-03-01 19:50:36 -05:00
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
2024-03-01 19:50:36 -05:00
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
2024-03-24 14:06:24 -04:00
hardware.cpu.intel.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
2024-03-01 19:50:36 -05:00
}