1{
2 cacert,
3 runCommand,
4 writableTmpDirAsHomeHook,
5 yq,
6 llm,
7 plugin,
8}:
9let
10 venv = llm.pythonModule.withPackages (_: [
11 llm
12 plugin
13 ]);
14in
15runCommand "${plugin.pname}-test"
16 {
17 nativeBuildInputs = [
18 venv
19 writableTmpDirAsHomeHook
20 yq
21 ];
22 env.SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
23 }
24 ''
25 llm plugins | yq --exit-status 'any(.name == "${plugin.pname}")'
26 touch "$out"
27 ''