]> Git — Sourcephile - julm/julm-nix.git/blob - nixos/profiles/hardware/X200.nix
nix: format with nixfmt-rfc-style
[julm/julm-nix.git] / nixos / profiles / hardware / X200.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 nix.settings.auto-optimise-store = false;
58
59 services.thinkfan = {
60 enable = true;
61 smartSupport = true;
62 levels = [
63 [
64 0
65 0
66 57
67 ]
68 [
69 1
70 56
71 60
72 ]
73 [
74 2
75 59
76 63
77 ]
78 [
79 3
80 62
81 65
82 ]
83 [
84 4
85 64
86 67
87 ]
88 [
89 5
90 66
91 72
92 ]
93 [
94 6
95 71
96 78
97 ]
98 [
99 7
100 77
101 82
102 ]
103 [
104 127
105 81
106 32767
107 ]
108 ];
109 };
110 services.upower.enable = true;
111 services.libinput.enable = mkDefault true;
112
113 # No pstore backend available on this system.
114 systemd.services.mount-pstore.enable = false;
115 }