28 lines
718 B
Nix
28 lines
718 B
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
let
|
|
pd = pkgs.callPackage ./powerdown {};
|
|
powersw = "${pd}/bin/powerswitch";
|
|
in
|
|
{
|
|
|
|
# the scripts are pretty heavily modified.
|
|
# from https://github.com/march-linux/powerdown
|
|
services.udev.extraRules = ''
|
|
SUBSYSTEM=="power_supply", ATTR{online}=="0", RUN+="${powersw}"
|
|
SUBSYSTEM=="power_supply", ATTR{online}=="1", RUN+="${powersw}"
|
|
'';
|
|
|
|
systemd.services.powerswitch = {
|
|
enable = true;
|
|
wantedBy = [ "multi-user.target" "suspend.target" ];
|
|
after = [ "suspend.target" "display-manager.service" ];
|
|
description = "Run powerswitch sometimes";
|
|
preStart = "sleep 4s";
|
|
serviceConfig = {
|
|
Type = "oneshot";
|
|
ExecStart = powersw;
|
|
};
|
|
};
|
|
}
|