{ lib , pkg-config , libjpeg_turbo , libheif , lapack , dlib , blas , ffmpeg , exiftool , darktable , fetchFromGitHub , buildGoModule , buildNpmPackage , runCommandLocal , makeWrapper }: buildGoModule rec { pname = "photoview"; version = "2.3.13"; source = fetchFromGitHub { name = "${pname}-src"; owner = pname; repo = pname; rev = "refs/tags/v${version}"; hash = "sha256-O6k5nbiWTsuOi8YLX0rsZJ9dOIo5d6pdwjhFZrdwI0E="; }; src = source + "/api"; vendorHash = "sha256-0SWywy9YdPtgvxRhwKhKvspPmhbnibSuhvzhsjIQvZk="; nativeBuildInputs = [ pkg-config makeWrapper ]; buildInputs = [ libjpeg_turbo libheif lapack dlib blas ]; ui = buildNpmPackage { pname = "${pname}-ui"; inherit version; src = source + "/ui"; #REACT_APP_API_ENDPOINT = ""; REACT_APP_BUILD_VERSION = version; REACT_APP_BUILD_DATE = builtins.readFile (runCommandLocal "date" { } "date -uI > $out" ); REACT_APP_BUILD_COMMIT_SHA = "nix"; npmDepsHash = "sha256-31CyjyNd85hNg4MXIWctoQ3YgorGqCMz+wDAu/K1lWo="; }; postInstall = '' mkdir -p "$out/lib/${pname}" mv "$out/bin/api" "$out/bin/${pname}" wrapProgram $out/bin/${pname} \ --prefix PATH ":" "${lib.makeBinPath [ ffmpeg exiftool darktable ]}" \ --set PHOTOVIEW_SERVE_UI 1 \ --set PHOTOVIEW_UI_PATH "$out/lib/${pname}/ui" cp -r \ "${src}/data/" \ "$out/lib/${pname}/data/" cp -r \ "${ui}/lib/node_modules/photoview-ui/dist" \ "$out/lib/${pname}/ui" ''; }