Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 57 lines 1.8 kB view raw
1{ 2 lib, 3 buildGoModule, 4 fetchFromGitHub, 5 nixosTests, 6}: 7 8buildGoModule rec { 9 pname = "nebula"; 10 version = "1.9.6"; 11 12 src = fetchFromGitHub { 13 owner = "slackhq"; 14 repo = "nebula"; 15 tag = "v${version}"; 16 hash = "sha256-klVbLseqIaibcXL83BVjRgY1ziZlxf+w4bRkkPlUnlU="; 17 }; 18 19 vendorHash = "sha256-oXhq+s5gDKPVClZpOzYi7BaYwcDqbCLBEO5BNGy9LJA="; 20 21 subPackages = [ 22 "cmd/nebula" 23 "cmd/nebula-cert" 24 ]; 25 26 ldflags = [ "-X main.Build=${version}" ]; 27 28 passthru.tests = { 29 inherit (nixosTests) nebula; 30 }; 31 32 meta = { 33 description = "Overlay networking tool with a focus on performance, simplicity and security"; 34 longDescription = '' 35 Nebula is a scalable overlay networking tool with a focus on performance, 36 simplicity and security. It lets you seamlessly connect computers 37 anywhere in the world. Nebula is portable, and runs on Linux, OSX, and 38 Windows. (Also: keep this quiet, but we have an early prototype running 39 on iOS). It can be used to connect a small number of computers, but is 40 also able to connect tens of thousands of computers. 41 42 Nebula incorporates a number of existing concepts like encryption, 43 security groups, certificates, and tunneling, and each of those 44 individual pieces existed before Nebula in various forms. What makes 45 Nebula different to existing offerings is that it brings all of these 46 ideas together, resulting in a sum that is greater than its individual 47 parts. 48 ''; 49 homepage = "https://github.com/slackhq/nebula"; 50 changelog = "https://github.com/slackhq/nebula/blob/v${version}/CHANGELOG.md"; 51 license = lib.licenses.mit; 52 maintainers = with lib.maintainers; [ 53 Br1ght0ne 54 numinit 55 ]; 56 }; 57}