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