1{ pkgs, lib, ... }:
2{
3 name = "agate";
4 meta = with lib.maintainers; {
5 maintainers = [ jk ];
6 };
7
8 nodes = {
9 geminiserver =
10 { pkgs, ... }:
11 {
12 services.agate = {
13 enable = true;
14 hostnames = [ "localhost" ];
15 contentDir = pkgs.writeTextDir "index.gmi" ''
16 # Hello NixOS!
17 '';
18 };
19 };
20 };
21
22 testScript =
23 { nodes, ... }:
24 ''
25 geminiserver.wait_for_unit("agate")
26 geminiserver.wait_for_open_port(1965)
27
28 with subtest("check is serving over gemini"):
29 response = geminiserver.succeed("${pkgs.gemget}/bin/gemget --header -o - gemini://localhost:1965")
30 print(response)
31 assert "Hello NixOS!" in response
32 '';
33}