Flake to setup a local env for atproto development
1{ lib
2, buildGoModule
3, fetchFromGitHub
4}:
5
6buildGoModule rec {
7 pname = "indigo-relay";
8 version = "unstable-2024-10-03";
9
10 src = fetchFromGitHub {
11 owner = "edouardparis";
12 repo = "indigo";
13 rev = "disable-ssrf-and-allow-custom-ports";
14 hash = "sha256-0Uy/7IT3gVVkfntXauue07O6WDhmU+heNT4fSh+sK5A=";
15 };
16
17 vendorHash = "sha256-7mYvgvR0tZdEnUgUYzKv6d2QyeXXnrFgVwY8/4UM3oU=";
18
19 # Build only the relay binary
20 subPackages = [ "cmd/relay" ];
21
22 # Set the module path
23 modRoot = ".";
24
25 # Build configuration
26 env.CGO_ENABLED = "1";
27
28 # Build flags
29 ldflags = [
30 "-s"
31 "-w"
32 "-X github.com/carlmjohnson/versioninfo.Version=${version}"
33 ];
34
35 # Tests require additional services running
36 doCheck = false;
37
38 meta = with lib; {
39 description = "AT Protocol relay daemon from the Indigo project";
40 homepage = "https://github.com/bluesky-social/indigo";
41 license = with licenses; [ mit asl20 ]; # Dual licensed
42 maintainers = with maintainers; [ ];
43 platforms = platforms.linux ++ platforms.darwin;
44 mainProgram = "relay";
45 };
46}