summaryrefslogtreecommitdiff
path: root/hosts/tomato/hardware.nix
blob: 0e2b9aa9a7d62124938be6ce2a8dd929edab6eb6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
{ pkgs, ... }:

let swapPart = "/dev/sda2";
in
{
  boot.initrd.availableKernelModules = [];
  boot.initrd.kernelModules = [];
  boot.kernelModules = [
    "kvm-intel"
    "uinput"  # work around rules bug
    "iwlwifi"
  ];
  boot.extraModulePackages = [];
  boot.resumeDevice = swapPart;

  boot.loader.grub.enable = true;
  boot.loader.grub.device = "/dev/sda";

  fileSystems."/" = {
    device = "/dev/sda1";
    fsType = "ext4";
  };

  fileSystems."/home" = {
    device = "/dev/sda3";
    fsType = "ext4";
  };

  swapDevices = [
    { device = swapPart; }
  ];

  hardware.graphics.extraPackages = [pkgs.intel-vaapi-driver];
  services.xserver.videoDrivers = ["intel"];

  services.udev.extraRules = ''
    ACTION=="add", SUBSYSTEM=="input", ATTR{name}=="TPPS/2 IBM TrackPoint", ATTR{device/sensitivity}="255", ATTR{device/speed}="127"
  '';

  this.bluetooth.enable = true;

  hardware.firmware = with pkgs; [
    linux-firmware
    broadcom-bt-firmware
  ];
  this.unfree.allowed = ["broadcom-bt-firmware"];

  services.tlp.settings = {
    START_CHARGE_THRESH_BAT0 = 50;
    STOP_CHARGE_THRESH_BAT0 = 60;

    WOL_DISABLE = "N";
    MEM_SLEEP_ON_BAT = "deep";

    CPU_BOOST_ON_AC = 1;
    CPU_BOOST_ON_BAT = 0;
    CPU_ENERGY_PERF_POLICY_ON_BAT = "power";

    MAX_LOST_WORK_SECS_ON_AC = 30;
  };

  this.laptop.thinkpad.enable = true;

  nixpkgs.hostPlatform = "x86_64-linux";
}