creates video voice memos from audio clips; with bluesky integration.
trill.ptr.pet
1{
2 lib,
3 stdenv,
4 deno,
5 nodejs,
6 makeBinaryWrapper,
7 memos-modules,
8 PUBLIC_DOMAIN ? "http://localhost:5173",
9}:
10stdenv.mkDerivation {
11 name = "memos";
12
13 src = lib.fileset.toSource {
14 root = ../.;
15 fileset = lib.fileset.unions [
16 ../src
17 ../static
18 ../deno.lock
19 ../package.json
20 ../svelte.config.js
21 ../tsconfig.json
22 ../vite.config.ts
23 ];
24 };
25
26 nativeBuildInputs = [makeBinaryWrapper];
27 buildInputs = [deno];
28
29 inherit PUBLIC_DOMAIN;
30
31 dontCheck = true;
32
33 configurePhase = ''
34 runHook preConfigure
35 cp -R --no-preserve=ownership ${memos-modules} node_modules
36 find node_modules -type d -exec chmod 755 {} \;
37 substituteInPlace node_modules/.bin/vite \
38 --replace-fail "/usr/bin/env node" "${nodejs}/bin/node"
39 runHook postConfigure
40 '';
41 buildPhase = ''
42 runHook preBuild
43 HOME=$TMPDIR deno run --cached-only build
44 runHook postBuild
45 '';
46 installPhase = ''
47 runHook preInstall
48
49 mkdir -p $out/bin
50 cp -R ./build/* $out
51 # cp -R ./node_modules $out
52
53 runHook postInstall
54 '';
55}