-{ config, ... }:
+{ pkgs, lib, config, ... }:
+with lib;
{
imports = [
- ./thinkpad.nix
+ ../acpid.nix
+ ../tlp.nix
];
- # tp_smapi works on ThinkPads made before 2013. See compat table:
- # https://www.thinkwiki.org/wiki/Tp_smapi#Model-specific_status
- boot.kernelModules = [ "tp_smapi" ];
- boot.extraModulePackages = with config.boot.kernelPackages; [ tp_smapi ];
+ nixpkgs.hostPlatform = {
+ system = "x86_64-linux";
+ config = "x86_64-unknown-linux-gnu";
+ };
+
+ boot.kernelModules = [ "kvm-intel" ];
+ # https://bugzilla.kernel.org/show_bug.cgi?id=110941
+ boot.initrd.availableKernelModules = [
+ "ahci"
+ "drbg"
+ "ehci_pci"
+ "gf128mul"
+ "hmac"
+ "sd_mod"
+ # tp_smapi works on ThinkPads made before 2013. See compat table:
+ # https://www.thinkwiki.org/wiki/Tp_smapi#Model-specific_status
+ "tp_smapi"
+ ];
+ boot.extraModulePackages = with config.boot.kernelPackages; [
+ tp_smapi
+ ];
+ boot.kernelParams = [ "intel_pstate=no_hwp" ];
+
+ environment.systemPackages = [
+ pkgs.geteltorito
+ ];
+
+ hardware.cpu.intel.updateMicrocode = mkDefault config.hardware.enableRedistributableFirmware;
+ hardware.opengl.extraPackages = [
+ pkgs.intel-media-driver # LIBVA_DRIVER_NAME=iHD
+ # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
+ (if (versionOlder (versions.majorMinor version) "23.11") then pkgs.vaapiIntel else pkgs.intel-vaapi-driver)
+ pkgs.libvdpau-va-gl
+ pkgs.vaapiVdpau
+ ];
+ hardware.trackpoint.enable = mkDefault true;
+ hardware.trackpoint.emulateWheel = mkDefault config.hardware.trackpoint.enable;
+
+ nix.settings.auto-optimise-store = false;
+
+ services.thinkfan = {
+ enable = true;
+ smartSupport = true;
+ levels = [
+ [ 0 0 57 ]
+ [ 1 56 60 ]
+ [ 2 59 63 ]
+ [ 3 62 65 ]
+ [ 4 64 67 ]
+ [ 5 66 72 ]
+ [ 6 71 78 ]
+ [ 7 77 82 ]
+ [ 127 81 32767 ]
+ ];
+ };
+ services.upower.enable = true;
+ services.libinput.enable = mkDefault true;
+
+ # No pstore backend available on this system.
+ systemd.services.mount-pstore.enable = false;
}