at master 931 B view raw
1{ pkgs, lib, ... }: 2 3let 4 testPort = 6052; 5 unixSocket = "/run/esphome/esphome.sock"; 6in 7{ 8 name = "esphome"; 9 meta.maintainers = with lib.maintainers; [ oddlama ]; 10 11 nodes = { 12 esphomeTcp = 13 { ... }: 14 { 15 services.esphome = { 16 enable = true; 17 port = testPort; 18 address = "0.0.0.0"; 19 openFirewall = true; 20 }; 21 }; 22 23 esphomeUnix = 24 { ... }: 25 { 26 services.esphome = { 27 enable = true; 28 enableUnixSocket = true; 29 }; 30 }; 31 }; 32 33 testScript = '' 34 esphomeTcp.wait_for_unit("esphome.service") 35 esphomeTcp.wait_for_open_port(${toString testPort}) 36 esphomeTcp.succeed("curl --fail http://localhost:${toString testPort}/") 37 38 esphomeUnix.wait_for_unit("esphome.service") 39 esphomeUnix.wait_for_file("${unixSocket}") 40 esphomeUnix.succeed("curl --fail --unix-socket ${unixSocket} http://localhost/") 41 ''; 42}