diff --git a/pkgs/tools/networking/croc/default.nix b/pkgs/tools/networking/croc/default.nix new file mode 100644 index 000000000000..160b5840cf53 --- /dev/null +++ b/pkgs/tools/networking/croc/default.nix @@ -0,0 +1,38 @@ +{ stdenv, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "croc"; + version = "6.1.1"; + + goPackagePath = "github.com/schollz/croc"; + + src = fetchFromGitHub { + owner = "schollz"; + repo = pname; + rev = "v${version}"; + sha256 = "08gkwllk3m5hpkr1iwabvs739rvl6rzdnra2v040dzdj6zgyd12r"; + }; + + modSha256 = "026m3hc2imna7bf4jpqm7yq6mr4l5is2crsx1vxdpr4h0n6z0v3i"; + subPackages = [ "." ]; + + meta = with stdenv.lib; { + description = "Easily and securely send things from one computer to another"; + homepage = https://github.com/schollz/croc; + license = licenses.mit; + maintainers = with maintainers; [ hugoreeves ]; + + longDescription = '' + Croc is a command line tool written in Go that allows any two computers to + simply and securely transfer files and folders. + + Croc does all of the following: + - Allows any two computers to transfer data (using a relay) + - Provides end-to-end encryption (using PAKE) + - Enables easy cross-platform transfers (Windows, Linux, Mac) + - Allows multiple file transfers + - Allows resuming transfers that are interrupted + - Does not require a server or port-forwarding + ''; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 89fc4364ffb4..ddef47d8add0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1276,6 +1276,8 @@ in ccnet = callPackage ../tools/networking/ccnet { }; + croc = callPackage ../tools/networking/croc { }; + cddl = callPackage ../development/tools/cddl { }; cedille = callPackage ../applications/science/logic/cedille