Personal save-for-later and Miniflux e-reader proxy for Xteink X4 (wip)
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 71 lines 1.4 kB view raw
1{ 2 lib, 3 stdenv, 4 nodejs_22, 5 pnpm, 6 pnpmConfigHook, 7 fetchPnpmDeps, 8 makeWrapper, 9}: 10 11stdenv.mkDerivation (finalAttrs: { 12 pname = "nightshade"; 13 version = "0.1.0"; 14 15 src = lib.fileset.toSource { 16 root = ./.; 17 fileset = lib.fileset.unions [ 18 ./package.json 19 ./pnpm-lock.yaml 20 ./tsconfig.json 21 ./vite.config.ts 22 ./src 23 ./lexicons 24 ]; 25 }; 26 27 pnpmDeps = fetchPnpmDeps { 28 inherit (finalAttrs) pname version src; 29 fetcherVersion = 1; 30 hash = "sha256-f1tDsiw0P4AXGYP4J+k7wMUB2AY0xAmVc4RgoEtve7E="; 31 }; 32 33 nativeBuildInputs = [ 34 nodejs_22 35 pnpm 36 pnpmConfigHook 37 makeWrapper 38 ]; 39 40 buildPhase = '' 41 runHook preBuild 42 pnpm run build 43 runHook postBuild 44 ''; 45 46 installPhase = '' 47 runHook preInstall 48 49 mkdir -p $out/share/nightshade 50 cp -r \ 51 package.json \ 52 tsconfig.json \ 53 src \ 54 dist \ 55 node_modules \ 56 $out/share/nightshade/ 57 58 mkdir -p $out/bin 59 makeWrapper ${nodejs_22}/bin/node $out/bin/nightshade \ 60 --add-flags "--import=$out/share/nightshade/node_modules/tsx/dist/loader.mjs" \ 61 --add-flags "$out/share/nightshade/src/server/index.ts" 62 63 runHook postInstall 64 ''; 65 66 meta = { 67 description = "Personal save-for-later + e-reader proxy for Miniflux (atproto-backed)"; 68 mainProgram = "nightshade"; 69 platforms = lib.platforms.unix; 70 }; 71})