summaryrefslogtreecommitdiff
path: root/trivionomicon/modules/thinkpad/sys.nix
blob: bc9614610ba6a048774b2de0f8fcd3e0013893be (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
{
  config,
  pkgs,
  lib,
  ...
}: {
  # For suspending to RAM to work, set Config -> Power -> Sleep State to "Linux" in EFI.
  # See https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Suspend_issues
  # Fingerprint sensor requires a firmware-update to work.

  boot = {
    extraModulePackages = with config.boot.kernelPackages; [acpi_call];
    extraModprobeConfig = "options iwlwifi 11n_disable=1 wd_disable=1";

    # acpi_call makes tlp work for newer thinkpads
    kernelModules = ["acpi_call"];

    # Force use of the thinkpad_acpi driver for backlight control.
    # This allows the backlight save/load systemd service to work.
    kernelParams = ["acpi_backlight=native"];
  };

  hardware.firmware = [pkgs.sof-firmware];

  services = {
    fprintd.enable = lib.mkDefault true;
    thinkfan.enable = lib.mkDefault true;
    tp-auto-kbbl.enable = lib.mkDefault true;
  };
}