{ self, nixosTest, }: nixosTest { name = "open-homepage"; nodes = { # Host with just the default configuration defaults = { imports = [self.nixosModules.default]; services.tlaternet-webserver.enable = true; }; host = { imports = [self.nixosModules.default]; services.tlaternet-webserver = { enable = true; listen = { addr = "0.0.0.0"; port = 8080; }; }; networking.firewall.allowedTCPPorts = [8080]; }; client = {}; }; testScript = '' start_all() # Assert that the defaults work defaults.wait_for_unit("tlaternet-webserver.service") defaults.succeed("curl --fail http://localhost:8000 >&2") # Assert that we can listen on a public interface host.wait_for_unit("tlaternet-webserver.service") client.succeed("curl --fail http://host:8080 >&2") ''; }