{ config, pkgs, lib, ... }:

{ boot.kernelModules = [ "coretemp" ];
  boot.extraModulePackages = with config.boot.kernelPackages; [
    x86_energy_perf_policy
  ];

  hardware = {
    bluetooth.enable = true;
  };

  environment.systemPackages = with pkgs; [
    powerstat
    powertop

    arandr
    autorandr
    disper
  ];

  programs.light.enable = true;

  services.autorandr.enable = true;

  services.logind.extraConfig = ''
    IdleAction=suspend
    IdleActionSec=600
  '';

  services.physlock.enable = true;

  services.tlp = {
    enable = true;
    extraConfig = ''
      CPU_SCALING_GOVERNOR_ON_BAT=powersave
    '';
  };

  services.xserver = {
    libinput = {
      enable = lib.mkDefault true;
      naturalScrolling = true;
      disableWhileTyping = true;
    };
  };

  systemd.services.nixos-upgrade.unitConfig.ConditionACPower = true;
  systemd.services.nix-gc.unitConfig.ConditionACPower = true;

  imports = [
    ../user-interface.nix
    ../remote-build.nix
  ];
}