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 VITE_OAUTH_CLIENT_ID ? "http://localhost:3000",
9 VITE_OAUTH_REDIRECT_URL ? VITE_OAUTH_CLIENT_ID,
10 VITE_CLIENT_URI ? VITE_OAUTH_CLIENT_ID,
11}:
12stdenv.mkDerivation {
13 name = "trill";
14
15 src = lib.fileset.toSource {
16 root = ../.;
17 fileset = lib.fileset.unions [
18 ../src
19 ../index.html
20 ../deno.lock
21 ../package.json
22 ../tsconfig.json
23 ../vite.config.ts
24 ../postcss.config.cjs
25 ../panda.config.ts
26 ];
27 };
28
29 nativeBuildInputs = [ makeBinaryWrapper ];
30 buildInputs = [ deno ];
31
32 inherit
33 VITE_OAUTH_REDIRECT_URL
34 VITE_OAUTH_CLIENT_ID
35 VITE_CLIENT_URI
36 ;
37
38 dontCheck = true;
39
40 configurePhase = ''
41 runHook preConfigure
42 cp -R --no-preserve=ownership ${memos-modules} node_modules
43 find node_modules -type d -exec chmod 755 {} \;
44 substituteInPlace node_modules/.bin/* \
45 --replace "/usr/bin/env node" "${nodejs}/bin/node"
46 ./node_modules/.bin/panda codegen
47 runHook postConfigure
48 '';
49 buildPhase = ''
50 runHook preBuild
51 HOME=$TMPDIR deno run --cached-only build
52 runHook postBuild
53 '';
54 installPhase = ''
55 runHook preInstall
56 mkdir -p $out
57 cp -R ./dist/* $out
58 runHook postInstall
59 '';
60}