2022-12-09 00:31:56 +00:00
|
|
|
with import ./lib;
|
|
|
|
{ config, pkgs, ... }: {
|
2015-10-29 00:11:44 +00:00
|
|
|
imports = [
|
|
|
|
../smartd.nix
|
2018-10-22 06:49:26 +00:00
|
|
|
{
|
|
|
|
boot.extraModulePackages = [
|
|
|
|
config.boot.kernelPackages.acpi_call
|
|
|
|
];
|
|
|
|
|
|
|
|
boot.kernelModules = [
|
|
|
|
"acpi_call"
|
|
|
|
];
|
|
|
|
|
|
|
|
environment.systemPackages = [
|
|
|
|
pkgs.tpacpi-bat
|
|
|
|
];
|
|
|
|
}
|
2020-07-03 19:36:51 +00:00
|
|
|
|
|
|
|
# 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
|
|
|
|
'';
|
|
|
|
}
|
2021-12-07 20:27:44 +00:00
|
|
|
|
|
|
|
{
|
2022-12-05 15:54:54 +00:00
|
|
|
nix.settings.cores = 2;
|
|
|
|
nix.settings.max-jobs = 2;
|
2021-12-07 20:27:44 +00:00
|
|
|
}
|
2021-12-08 21:01:32 +00:00
|
|
|
(if lib.versionAtLeast (lib.versions.majorMinor lib.version) "21.11" then {
|
2021-12-07 20:27:44 +00:00
|
|
|
nix.daemonCPUSchedPolicy = "batch";
|
|
|
|
nix.daemonIOSchedPriority = 1;
|
|
|
|
} else {
|
|
|
|
nix.daemonIONiceLevel = 1;
|
|
|
|
nix.daemonNiceLevel = 1;
|
|
|
|
})
|
2015-10-29 00:11:44 +00:00
|
|
|
];
|
|
|
|
|
2018-10-22 06:38:18 +00:00
|
|
|
boot.extraModulePackages = [
|
|
|
|
config.boot.kernelPackages.tp_smapi
|
|
|
|
];
|
|
|
|
|
|
|
|
boot.kernelModules = [ "tp_smapi" ];
|
|
|
|
|
2016-10-06 17:16:42 +00:00
|
|
|
boot.loader.systemd-boot.enable = true;
|
2015-10-29 00:11:44 +00:00
|
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
|
|
|
|
2016-07-23 10:58:03 +00:00
|
|
|
# Required for Centrino.
|
2017-07-12 15:25:23 +00:00
|
|
|
hardware.enableRedistributableFirmware = true;
|
2016-07-23 10:58:03 +00:00
|
|
|
|
2016-10-06 17:16:42 +00:00
|
|
|
hardware.opengl.extraPackages = [ pkgs.vaapiIntel pkgs.vaapiVdpau ];
|
|
|
|
|
2015-10-29 00:11:44 +00:00
|
|
|
hardware.trackpoint = {
|
|
|
|
enable = true;
|
|
|
|
sensitivity = 220;
|
|
|
|
speed = 0;
|
|
|
|
emulateWheel = true;
|
|
|
|
};
|
|
|
|
|
2022-12-07 19:31:34 +00:00
|
|
|
# Conflicts with TLP, but gets enabled by DEs.
|
|
|
|
services.power-profiles-daemon.enable = false;
|
|
|
|
|
2015-10-29 00:11:44 +00:00
|
|
|
services.tlp.enable = true;
|
2020-11-18 01:50:37 +00:00
|
|
|
services.tlp.settings = {
|
|
|
|
START_CHARGE_THRESH_BAT0 = 80;
|
|
|
|
};
|
2015-10-29 00:11:44 +00:00
|
|
|
|
|
|
|
|
|
|
|
services.logind.extraConfig = ''
|
|
|
|
HandleHibernateKey=ignore
|
|
|
|
HandleLidSwitch=ignore
|
|
|
|
HandlePowerKey=ignore
|
|
|
|
HandleSuspendKey=ignore
|
|
|
|
'';
|
|
|
|
|
2019-05-20 12:18:40 +00:00
|
|
|
# because extraConfig is not extra enough:
|
|
|
|
services.logind.lidSwitch = "ignore";
|
|
|
|
services.logind.lidSwitchDocked = "ignore";
|
|
|
|
services.logind.lidSwitchExternalPower = "ignore";
|
|
|
|
|
2015-10-29 00:11:44 +00:00
|
|
|
services.xserver = {
|
|
|
|
videoDriver = "intel";
|
|
|
|
};
|
2021-02-15 13:00:47 +00:00
|
|
|
|
|
|
|
tv.hw.screens.primary.width = lib.mkDefault 1366;
|
|
|
|
tv.hw.screens.primary.height = lib.mkDefault 768;
|
2015-10-29 00:11:44 +00:00
|
|
|
}
|