flake/modules/wake-on-lan.nix
2025-02-11 22:29:25 +03:00

32 lines
837 B
Nix

{
pkgs,
lib,
config,
...
}: {
options = {
myModules.enableWakeOnLan = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enable Wake on LAN";
};
};
config = lib.mkMerge [
(lib.mkIf config.myModules.enableWakeOnLan {
networking.interfaces.enp3s0.wakeOnLan.enable = true;
# The services doesn't actually work atm, define an additional service
# see https://github.com/NixOS/nixpkgs/issues/91352
systemd.services.wakeonlan = {
description = "Reenable wake on lan every boot";
after = ["network.target"];
serviceConfig = {
Type = "simple";
RemainAfterExit = "true";
ExecStart = "${pkgs.ethtool}/sbin/ethtool -s enp3s0 wol g";
};
wantedBy = ["default.target"];
};
})
];
}