Files
dotfiles/config/modules/power-management/rfkill-sleep.nix
T
2026-03-25 19:47:04 +00:00

32 lines
986 B
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";
# Command to run AFTER system resumes
ExecStop = "${pkgs.util-linux}/bin/rfkill unblock all";
RemainAfterExit = true;
};
};
};
};
}