system/settings/hardware/laptop.nix (view raw)
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
];
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;
}
|