{ 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") ''; }