blob: 946dbda7c54ca60e8b1639214a3c62f0244f6dea (
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
{ config, pkgs, lib, ... }:
{
imports = [
./bluetooth.nix
./bluetooth-audio.nix
./connman.nix
./iwd.nix
./personal-computer.nix
../user-interface.nix
];
boot.kernelModules = [ "coretemp" ];
environment.systemPackages = with pkgs; [
powerstat
powertop
arandr
autorandr
disper
];
programs.light.enable = true;
services.autorandr = {
enable = true;
defaultTarget = "common";
};
systemd.services.autorandr.wantedBy = [ "graphical.target" ];
environment.etc.autorandr = {
enable = true;
source = ../../autorandr;
target = "xdg/autorandr";
};
services.logind = {
lidSwitch = "suspend";
lidSwitchExternalPower = "ignore";
extraConfig = ''
IdleAction=suspend
IdleActionSec=600
'';
};
services.acpid = {
enable = true;
lidEventCommands = ''
${pkgs.autorandr}/bin/autorandr --batch --change
'';
};
services.tlp = {
extraConfig = ''
CPU_SCALING_GOVERNOR_ON_BAT=powersave
ENERGY_PERF_POLICY_ON_BAT="balance_power"
SOUND_POWER_SAVE_ON_AC=60
DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE="bluetooth wwan"
'';
};
services.xserver = {
libinput = {
enable = lib.mkDefault true;
naturalScrolling = true;
disableWhileTyping = true;
};
displayManager.sessionCommands = ''
${pkgs.autorandr}/bin/autorandr --change --force
'';
};
systemd.services.nixos-upgrade.unitConfig.ConditionACPower = true;
systemd.services.nix-gc.unitConfig.ConditionACPower = true;
systemd.services.docker-prune.unitConfig.ConditionACPower = true;
}
|