nixos-configs/devices/nos/modules/subtitles/syncing/node-syncsub/default.nix

48 lines
855 B
Nix
Raw Normal View History

{
buildNpmPackage,
ffmpeg,
nodejs_20,
subsync,
symlinkJoin,
typescript,
...
}: let
nodeSubSync = buildNpmPackage {
name = "node-syncsub";
src = ./.;
npmDepsHash = "sha256-O00VQPCUX6T+rtK3VcAibBipXFwNs4AFA3251qycPBQ=";
nativeBuildInputs = [
nodejs_20
ffmpeg
subsync
typescript
];
buildPhase = ''
tsc -p tsconfig.json
'';
installPhase = ''
mkdir -p $out/bin
mv node_modules package.json $out
echo '#!/usr/bin/env node' > $out/bin/node-syncsub
cat ./build/main.js >> $out/bin/node-syncsub
rm ./build/main.js
chmod +x $out/bin/node-syncsub
mv ./build/**.js $out/bin
'';
};
in
symlinkJoin {
name = "node-syncsub";
meta.mainProgram = "node-syncsub";
paths = [
ffmpeg
subsync
nodeSubSync
];
}