git: tweak config
[julm/julm-nix.git] / nixos / profiles / hardware / X201.nix
index 826e07ea16733d181437fc2e90f03267b981e408..e9b03bdd842b010732ff36faf569953ad66f8442 100644 (file)
@@ -1,4 +1,9 @@
-{ pkgs, lib, config, ... }:
+{
+  pkgs,
+  lib,
+  config,
+  ...
+}:
 with lib;
 {
   imports = [
@@ -11,11 +16,8 @@ with lib;
     config = "x86_64-unknown-linux-gnu";
   };
 
-  hardware.cpu.intel.updateMicrocode = true;
-
   boot.kernelModules = [ "kvm-intel" ];
   # https://bugzilla.kernel.org/show_bug.cgi?id=110941
-  boot.kernelParams = [ "intel_pstate=no_hwp" ];
   boot.initrd.availableKernelModules = [
     "ahci"
     "drbg"
@@ -27,33 +29,84 @@ with lib;
     # https://www.thinkwiki.org/wiki/Tp_smapi#Model-specific_status
     "tp_smapi"
   ];
-  boot.extraModulePackages = with config.boot.kernelPackages; [ tp_smapi ];
+  boot.extraModulePackages = with config.boot.kernelPackages; [
+    tp_smapi
+  ];
+  boot.kernelParams = [ "intel_pstate=no_hwp" ];
 
-  hardware.opengl.extraPackages = [
-    pkgs.fwupdmgr
+  environment.systemPackages = [
     pkgs.geteltorito
+  ];
+
+  hardware.cpu.intel.updateMicrocode = mkDefault config.hardware.enableRedistributableFirmware;
+  hardware.graphics.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.vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
     pkgs.vaapiVdpau
   ];
+  hardware.trackpoint.enable = mkDefault true;
+  hardware.trackpoint.emulateWheel = mkDefault config.hardware.trackpoint.enable;
 
   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 ]
+      [
+        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;