diff --git a/pkgs/applications/misc/pairdrop/default.nix b/pkgs/applications/misc/pairdrop/default.nix new file mode 100644 index 000000000000..7715481cffd5 --- /dev/null +++ b/pkgs/applications/misc/pairdrop/default.nix @@ -0,0 +1,44 @@ +{ lib +, buildNpmPackage +, fetchFromGitHub +, nodejs +}: + +buildNpmPackage rec { + pname = "pairdrop"; + version = "1.7.6"; + + src = fetchFromGitHub { + owner = "schlagmichdoch"; + repo = "PairDrop"; + rev = "v${version}"; + hash = "sha256-AOFATOCLf2KigeqoUzIfNngyeDesNrThRzxFvqtsXBs="; + }; + + npmDepsHash = "sha256-3nKjmC5eizoV/mrKDBhsSlVQxEHyIsWR6KHFwZhBugI="; + + dontNpmBuild = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin $out/lib + cp -r * $out/lib + + makeWrapper ${nodejs}/bin/node "$out/bin/pairdrop" --add-flags "index.js public --rate-limit --auto-restart" + wrapProgram $out/bin/pairdrop --chdir "$out/lib" + + runHook postInstall + ''; + + meta = with lib; { + description = "Local file sharing in your browser"; + longDescription = '' + PairDrop is a sublime alternative to AirDrop that works on all platforms. + Send images, documents or text via peer to peer connection to devices in the same local network/Wi-Fi or to paired devices. + ''; + homepage = "https://github.com/schlagmichdoch/PairDrop"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ dit7ya ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6c6ac9a1a4ed..af92ac23f2f6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3370,6 +3370,8 @@ with pkgs; pacparser = callPackage ../tools/networking/pacparser { }; + pairdrop = callPackage ../applications/misc/pairdrop { }; + opencbm = callPackage ../tools/misc/opencbm { }; parquet-tools = callPackage ../tools/misc/parquet-tools { };