]> Git — Sourcephile - julm/julm-nix.git/blob - nixos/profiles/hardware/X201.nix
pumpkin: lanzaboote: enable SecureBoot
[julm/julm-nix.git] / nixos / profiles / hardware / X201.nix
1 {
2 pkgs,
3 lib,
4 config,
5 ...
6 }:
7 with lib;
8 {
9 imports = [
10 ../acpid.nix
11 ../tlp.nix
12 ];
13
14 nixpkgs.hostPlatform = {
15 system = "x86_64-linux";
16 config = "x86_64-unknown-linux-gnu";
17 };
18
19 boot.kernelModules = [ "kvm-intel" ];
20 # https://bugzilla.kernel.org/show_bug.cgi?id=110941
21 boot.initrd.availableKernelModules = [
22 "ahci"
23 "drbg"
24 "ehci_pci"
25 "gf128mul"
26 "hmac"
27 "sd_mod"
28 # tp_smapi works on ThinkPads made before 2013. See compat table:
29 # https://www.thinkwiki.org/wiki/Tp_smapi#Model-specific_status
30 "tp_smapi"
31 ];
32 boot.extraModulePackages = with config.boot.kernelPackages; [
33 tp_smapi
34 ];
35 boot.kernelParams = [ "intel_pstate=no_hwp" ];
36
37 environment.systemPackages = [
38 pkgs.geteltorito
39 ];
40
41 hardware.cpu.intel.updateMicrocode = mkDefault config.hardware.enableRedistributableFirmware;
42 hardware.graphics.extraPackages = [
43 pkgs.intel-media-driver # LIBVA_DRIVER_NAME=iHD
44 # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
45 (
46 if (versionOlder (versions.majorMinor version) "23.11") then
47 pkgs.vaapiIntel
48 else
49 pkgs.intel-vaapi-driver
50 )
51 pkgs.libvdpau-va-gl
52 pkgs.vaapiVdpau
53 ];
54 hardware.trackpoint.enable = mkDefault true;
55 hardware.trackpoint.emulateWheel = mkDefault config.hardware.trackpoint.enable;
56
57 services.thinkfan = {
58 enable = true;
59 smartSupport = true;
60 levels = [
61 [
62 0
63 0
64 57
65 ]
66 [
67 1
68 56
69 60
70 ]
71 [
72 2
73 59
74 63
75 ]
76 [
77 3
78 62
79 65
80 ]
81 [
82 4
83 64
84 67
85 ]
86 [
87 5
88 66
89 72
90 ]
91 [
92 6
93 71
94 78
95 ]
96 [
97 7
98 77
99 82
100 ]
101 [
102 127
103 81
104 32767
105 ]
106 ];
107 };
108 services.upower.enable = true;
109 services.libinput.enable = mkDefault true;
110
111 # No pstore backend available on this system.
112 systemd.services.mount-pstore.enable = false;
113 }