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}