Files
dotfiles/config/modules/power-management/rfkill-sleep.nix
T
2026-03-25 20:06:05 +00:00

32 lines
1.1 KiB
Nix

{ den, modules, ... }:
{
modules.rfkill-sleep = {
nixos =
{ pkgs, ... }:
let
sleep-rfkill = pkgs.writeShellScript "sleep-rfkill" "
${pkgs.util-linux}/bin/rfkill block all
";
wake-rfkill = pkgs.writeShellScript "wake-rfkill" "
${pkgs.util-linux}/bin/rfkill unblock all
";
in
{
# My laptop doesn't like having connectivity when it goes to sleep, it burns through battery
systemd.services.sleep-rfkill = {
description = "Custom suspend/resume hook";
wantedBy = [ "sleep.target" ];
before = [ "sleep.target" ];
serviceConfig = {
Type = "oneshot";
# Command to run BEFORE system suspends
ExecStart = "${pkgs.util-linux}/bin/rfkill block all; ${pkgs.bash}/bin/bash -c 'echo \"$(date): Suspending... \" >> /home/doloro/sleep.log'";
# Command to run AFTER system resumes
ExecStop = "${pkgs.util-linux}/bin/rfkill unblock all; ${pkgs.bash}/bin/bash -c 'echo \"$(date): Resumed! \" >> /home/doloro/sleep.log'";
RemainAfterExit = false;
};
};
};
};
}