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