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