diff options
author | Alan Pearce | 2019-10-02 16:55:35 +0200 |
---|---|---|
committer | Alan Pearce | 2019-10-02 16:55:35 +0200 |
commit | 340b2c244c0b7c331f6633edf9a69f1381916ad2 (patch) | |
tree | 2f430f20fbe01191c6b4a455bf792facef3f4fe7 /system/modules/hardware/laptop.nix | |
parent | ec7f1357d16ff2f4aa7430a2940a0b9519018595 (diff) | |
parent | 5016c7440ad771fd990e1aa142fc4de0bdc382bd (diff) | |
download | nixfiles-340b2c244c0b7c331f6633edf9a69f1381916ad2.tar.lz nixfiles-340b2c244c0b7c331f6633edf9a69f1381916ad2.tar.zst nixfiles-340b2c244c0b7c331f6633edf9a69f1381916ad2.zip |
Add 'system/' from commit '5016c7440ad771fd990e1aa142fc4de0bdc382bd'
git-subtree-dir: system git-subtree-mainline: ec7f1357d16ff2f4aa7430a2940a0b9519018595 git-subtree-split: 5016c7440ad771fd990e1aa142fc4de0bdc382bd
Diffstat (limited to 'system/modules/hardware/laptop.nix')
-rw-r--r-- | system/modules/hardware/laptop.nix | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/system/modules/hardware/laptop.nix b/system/modules/hardware/laptop.nix new file mode 100644 index 00000000..17e27b63 --- /dev/null +++ b/system/modules/hardware/laptop.nix @@ -0,0 +1,87 @@ +{ config, pkgs, lib, ... }: + +{ boot.kernelModules = [ "coretemp" ]; + boot.extraModulePackages = with config.boot.kernelPackages; [ + x86_energy_perf_policy + ]; + + hardware = { + bluetooth = { + enable = true; + powerOnBoot = false; + package = pkgs.bluezFull; + }; + pulseaudio = { + extraModules = with pkgs; [ + pulseaudio-modules-bt + ]; + }; + }; + systemd.services.bluetooth.wantedBy = lib.mkForce []; + systemd.timers.bluetooth = { + description = "Delayed startup of Bluetooth"; + wantedBy = [ "timers.target" ]; + timerConfig = { + OnActiveSec = "1 min"; + }; + }; + + environment.systemPackages = with pkgs; [ + blueman + bluez-tools + + powerstat + powertop + + arandr + autorandr + disper + ]; + + programs.light.enable = true; + + services.autorandr.enable = true; + + services.logind.extraConfig = '' + IdleAction=suspend + IdleActionSec=600 + ''; + + services.acpid = { + enable = true; + lidEventCommands = '' + ${pkgs.autorandr}/bin/autorandr --batch --change + ''; + }; + + services.tlp = { + enable = true; + 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 + ${pkgs.blueman}/bin/blueman-applet & + ''; + }; + + systemd.services.nixos-upgrade.unitConfig.ConditionACPower = true; + systemd.services.nix-gc.unitConfig.ConditionACPower = true; + systemd.services.docker-prune.unitConfig.ConditionACPower = true; + + imports = [ + ../user-interface.nix + ]; +} |