{ config, pkgs, lib, ... }: { imports = [ ./bluetooth.nix ./bluetooth-audio.nix ./connman.nix ./iwd.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; }