2022-09-30 11:47:45 +00:00
|
|
|
{ pkgs, lib, ... }:
|
|
|
|
{
|
|
|
|
name = "agate";
|
|
|
|
meta = with lib.maintainers; { maintainers = [ jk ]; };
|
2022-02-20 05:27:41 +00:00
|
|
|
|
2022-09-30 11:47:45 +00:00
|
|
|
nodes = {
|
|
|
|
geminiserver = { pkgs, ... }: {
|
|
|
|
services.agate = {
|
|
|
|
enable = true;
|
|
|
|
hostnames = [ "localhost" ];
|
|
|
|
contentDir = pkgs.writeTextDir "index.gmi" ''
|
|
|
|
# Hello NixOS!
|
|
|
|
'';
|
2022-02-20 05:27:41 +00:00
|
|
|
};
|
|
|
|
};
|
2022-09-30 11:47:45 +00:00
|
|
|
};
|
2022-02-20 05:27:41 +00:00
|
|
|
|
2022-09-30 11:47:45 +00:00
|
|
|
testScript = { nodes, ... }: ''
|
|
|
|
geminiserver.wait_for_unit("agate")
|
|
|
|
geminiserver.wait_for_open_port(1965)
|
2022-02-20 05:27:41 +00:00
|
|
|
|
2022-09-30 11:47:45 +00:00
|
|
|
with subtest("check is serving over gemini"):
|
|
|
|
response = geminiserver.succeed("${pkgs.gmni}/bin/gmni -j once -i -N gemini://localhost:1965")
|
|
|
|
print(response)
|
|
|
|
assert "Hello NixOS!" in response
|
|
|
|
'';
|
|
|
|
}
|