diff --git a/flake.nix b/flake.nix index 9cb60fb..5ae207d 100644 --- a/flake.nix +++ b/flake.nix @@ -64,5 +64,10 @@ ]; }; }; + + checks.${system} = import ./nix/checks { + inherit self system; + pkgs = nixpkgs.legacyPackages.${system}; + }; }; } diff --git a/nix/checks/default.nix b/nix/checks/default.nix new file mode 100644 index 0000000..fa4be77 --- /dev/null +++ b/nix/checks/default.nix @@ -0,0 +1,9 @@ +{ + pkgs, + self, + system, +}: let + callPackage = pkgs.lib.callPackageWith (pkgs // {inherit self;}); +in { + openHomepage = callPackage ./open-homepage.nix {}; +} diff --git a/nix/checks/open-homepage.nix b/nix/checks/open-homepage.nix new file mode 100644 index 0000000..dba360e --- /dev/null +++ b/nix/checks/open-homepage.nix @@ -0,0 +1,35 @@ +{ + self, + nixosTest, +}: +nixosTest { + nodes = { + host = { + config, + lib, + pkgs, + ... + }: { + imports = [self.nixosModules.default]; + + services.tlaternet-webserver = { + enable = true; + listen = { + addr = "0.0.0.0"; + port = 8000; + }; + }; + + networking.firewall.allowedTCPPorts = [8000]; + }; + + client = {pkgs, ...}: {}; + }; + + testScript = '' + start_all() + + host.wait_for_unit("default.target") + client.succeed("curl --fail http://host:8000/ >&2") + ''; +}