30 lines
839 B
Nix
Raw Normal View History

{ config, lib, ... }: {
config = lib.mkIf config.physical {
2022-12-21 14:18:03 -07:00
# Prevent wake from keyboard
powerManagement.powerDownCommands = ''
2023-04-01 20:21:26 -04:00
set +e
2023-02-22 23:46:24 -05:00
2023-04-01 20:21:26 -04:00
for power in /sys/bus/i2c/devices/i2c-*/device/power; do echo disabled > ''${power}/wakeup || true; done
2023-04-02 08:22:28 -04:00
for power in /sys/bus/usb/devices/1-*/power; do echo disabled > ''${power}/wakeup || true; done
2023-04-01 20:21:26 -04:00
# Fix for Gigabyte motherboard
# /r/archlinux/comments/y7b97e/my_computer_wakes_up_immediately_after_i_suspend/isu99sr/
echo GPP0 > /proc/acpi/wakeup
2022-12-21 14:18:03 -07:00
2023-04-15 10:11:30 -04:00
# Possibly need to wait a beat for settings to kick in
sleep 2
2023-04-01 20:21:26 -04:00
set -e
'';
2023-02-22 23:46:24 -05:00
2023-04-02 08:22:28 -04:00
services.udev.extraRules = ''
ACTION=="add", SUBSYSTEM=="usb", DRIVER=="usb", ATTR{power/wakeup}="disabled"
ACTION=="add", SUBSYSTEM=="i2c", ATTR{power/wakeup}="disabled"
'';
2022-12-21 14:18:03 -07:00
};
}