main
 1{
 2  lib,
 3  buildNpmPackage,
 4  nodejs_22,
 5}:
 6
 7buildNpmPackage {
 8  pname = "daneel";
 9  version = "0.1.0";
10
11  src = ./..;
12
13  nodejs = nodejs_22;
14
15  npmDepsHash = lib.fakeHash;
16
17  # Build TypeScript
18  buildPhase = ''
19    runHook preBuild
20    npm run build
21    runHook postBuild
22  '';
23
24  # Install the built files
25  installPhase = ''
26    runHook preInstall
27    mkdir -p $out/lib/daneel
28    cp -r dist $out/lib/daneel/
29    cp -r node_modules $out/lib/daneel/
30    cp package.json $out/lib/daneel/
31
32    mkdir -p $out/bin
33    cat > $out/bin/daneel <<EOF
34    #!${nodejs_22}/bin/node
35    import("$out/lib/daneel/dist/main.js");
36    EOF
37    chmod +x $out/bin/daneel
38    runHook postInstall
39  '';
40
41  meta = {
42    description = "XMPP research bot using AI";
43    homepage = "https://codeberg.org/vdemeester/daneel";
44    license = lib.licenses.asl20;
45    maintainers = [ ];
46    mainProgram = "daneel";
47  };
48}