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