summary refs log tree commit diff
path: root/nixos/modules/services/networking/wakeonlan.nix
diff options
context:
space:
mode:
authorFritz Otlinghaus <fritz@otlinghaus.it>2021-01-31 12:33:27 +0100
committerFritz Otlinghaus <fritz@otlinghaus.it>2021-01-31 13:26:12 +0100
commit087011cc68bc0b8a955220ec400a6bad9d0819e9 (patch)
tree8a6dff340c341c20c2511296eaff937b03ad26f9 /nixos/modules/services/networking/wakeonlan.nix
parent4015c5ca9c6ec7d4aa765c97b4413b478daa278b (diff)
downloadnixpkgs-087011cc68bc0b8a955220ec400a6bad9d0819e9.tar
nixpkgs-087011cc68bc0b8a955220ec400a6bad9d0819e9.tar.gz
nixpkgs-087011cc68bc0b8a955220ec400a6bad9d0819e9.tar.bz2
nixpkgs-087011cc68bc0b8a955220ec400a6bad9d0819e9.tar.lz
nixpkgs-087011cc68bc0b8a955220ec400a6bad9d0819e9.tar.xz
nixpkgs-087011cc68bc0b8a955220ec400a6bad9d0819e9.tar.zst
nixpkgs-087011cc68bc0b8a955220ec400a6bad9d0819e9.zip
nixos/wakeonlan: add types
Diffstat (limited to 'nixos/modules/services/networking/wakeonlan.nix')
-rw-r--r--nixos/modules/services/networking/wakeonlan.nix14
1 files changed, 14 insertions, 0 deletions
diff --git a/nixos/modules/services/networking/wakeonlan.nix b/nixos/modules/services/networking/wakeonlan.nix
index 35ff67937fc..c9850d142aa 100644
--- a/nixos/modules/services/networking/wakeonlan.nix
+++ b/nixos/modules/services/networking/wakeonlan.nix
@@ -31,6 +31,20 @@ in
 
     services.wakeonlan.interfaces = mkOption {
       default = [ ];
+      type = types.listOf (types.submodule { options = {
+        interface = mkOption {
+          type = types.str;
+          description = "Interface to enable for Wake-On-Lan.";
+        };
+        method = mkOption {
+          type = types.enum [ "magicpacket" "password"];
+          description = "Wake-On-Lan method for this interface.";
+        };
+        password = mkOption {
+          type = types.strMatching "[a-fA-F0-9]{2}:([a-fA-F0-9]{2}:){4}[a-fA-F0-9]{2}";
+          description = "The password has the shape of six bytes in hexadecimal separated by a colon each.";
+        };
+      };});
       example = [
         {
           interface = "eth0";