From 0f4d2374bfc7a484c8663b57a9fa224617231809 Mon Sep 17 00:00:00 2001 From: Zynh Ludwig Date: Fri, 13 Sep 2024 19:16:49 -0700 Subject: [PATCH] wake-on-lan: move to module --- hosts/snowhawk/configuration.nix | 14 ++------------ modules/wake-on-lan.nix | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 12 deletions(-) create mode 100644 modules/wake-on-lan.nix diff --git a/hosts/snowhawk/configuration.nix b/hosts/snowhawk/configuration.nix index 9c688f1..6c75e9c 100644 --- a/hosts/snowhawk/configuration.nix +++ b/hosts/snowhawk/configuration.nix @@ -2,7 +2,7 @@ # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running `nixos-help`). -{ pkgs, inputs, lib, config, ... }: +{ pkgs, inputs, config, ... }: { imports = [ @@ -19,6 +19,7 @@ snowhawk = { nix-ld.enable = true; + wake-on-lan.enable = true; dwm.enable = true; syncthing.enable = true; plymouth.enable = true; @@ -104,17 +105,6 @@ services.avahi.enable = true; - systemd.services.wakeonlan = { - description = "reenable wakeonlan every boot"; - after = [ "network.target" ]; - serviceConfig = { - Type = "simple"; - RemainAfterExit = "true"; - ExecStart = "${lib.getExe pkgs.ethtool} -s enp7s0 wol g"; - }; - wantedBy = [ "default.target" ]; - }; - # Open ports in the firewall. # networking.firewall.allowedTCPPorts = [ ... ]; # networking.firewall.allowedUDPPorts = [ ... ]; diff --git a/modules/wake-on-lan.nix b/modules/wake-on-lan.nix new file mode 100644 index 0000000..9c17025 --- /dev/null +++ b/modules/wake-on-lan.nix @@ -0,0 +1,25 @@ +{ config, lib, pkgs, ... }: + +let + inherit (lib) mkIf mkEnableOption; + + cfg = config.snowhawk.wake-on-lan; +in +{ + options.snowhawk.wake-on-lan = { + enable = mkEnableOption "wake-on-lan nixos module"; + }; + + config = mkIf cfg.enable { + systemd.services.wakeonlan = { + description = "reenable wakeonlan every boot"; + after = [ "network.target" ]; + serviceConfig = { + Type = "simple"; + RemainAfterExit = "true"; + ExecStart = "${lib.getExe pkgs.ethtool} -s enp7s0 wol g"; + }; + wantedBy = [ "default.target" ]; + }; + }; +}