{ config, lib, pkgs, ... }: { imports = [ ../smartd.nix { boot.extraModulePackages = [ config.boot.kernelPackages.acpi_call ]; boot.kernelModules = [ "acpi_call" ]; environment.systemPackages = [ pkgs.tpacpi-bat ]; } # fix jumpy touchpad # https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X220#X220_Touchpad_cursor_jump/imprecise { services.udev.extraHwdb = /* sh */ '' touchpad:i8042:* LIBINPUT_MODEL_LENOVO_X220_TOUCHPAD_FW81=1 ''; } { nix.settings.cores = 2; nix.settings.max-jobs = 2; } (if lib.versionAtLeast (lib.versions.majorMinor lib.version) "21.11" then { nix.daemonCPUSchedPolicy = "batch"; nix.daemonIOSchedPriority = 1; } else { nix.daemonIONiceLevel = 1; nix.daemonNiceLevel = 1; }) ]; boot.extraModulePackages = [ config.boot.kernelPackages.tp_smapi ]; boot.kernelModules = [ "tp_smapi" ]; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; # Required for Centrino. hardware.enableRedistributableFirmware = true; hardware.graphics = { extraPackages = [ pkgs.intel-vaapi-driver pkgs.libva-vdpau-driver ]; }; hardware.trackpoint = { enable = true; sensitivity = 220; speed = 0; emulateWheel = true; }; # Conflicts with TLP, but gets enabled by DEs. services.power-profiles-daemon.enable = false; services.tlp.enable = true; services.tlp.settings = { START_CHARGE_THRESH_BAT0 = 80; WOL_DISABLE = false; }; services.logind.settings.Login.HandleHibernateKey = "ignore"; services.logind.settings.Login.HandleLidSwitch = "ignore"; services.logind.settings.Login.HandleLidSwitchDocked = "ignore"; services.logind.settings.Login.HandleLidSwitchExternalPower = "ignore"; services.logind.settings.Login.HandlePowerKey = "ignore"; services.logind.settings.Login.HandleSuspendKey = "ignore"; services.xserver = { videoDriver = "intel"; }; }