Stitch any CI into Tangled
151
fork

Configure Feed

Select the types of activity you want to include in your feed.

flake package + program

+37 -4
-4
README.md
··· 55 55 sh.tangled.pipeline.status 56 56 ``` 57 57 58 - ```sh 59 - go run . -addr :8080 60 - ``` 61 - 62 58 ## Configuration 63 59 64 60 Core configuration controls how tack talks to Tangled. Provider-specific
+37
flake.nix
··· 14 14 flake-utils.lib.eachDefaultSystem ( 15 15 system: let 16 16 pkgs = nixpkgs.legacyPackages.${system}; 17 + 18 + # The tack binary itself. We use buildGoModule because the module is 19 + # a single `main` package at the repo root with internal subpackages. 20 + # CGO is required for github.com/mattn/go-sqlite3. 21 + tack = pkgs.buildGoModule { 22 + pname = "tack"; 23 + version = "0.1.0"; 24 + src = ./.; 25 + 26 + # vendorHash pins the Go module download FOD. Update this whenever 27 + # go.mod / go.sum changes by replacing it with lib.fakeHash and 28 + # rebuilding to surface the new hash. 29 + vendorHash = "sha256-2G9Bhflpw0BDcytKB4oOGIi3HR2fFd1rwZFcoIC09TQ="; 30 + 31 + # The repo ships a stale `tack` binary at the root that gets caught 32 + # by `go test ./...`-style discovery; ignore it during the build. 33 + subPackages = ["."]; 34 + 35 + # mattn/go-sqlite3 needs cgo + a C compiler. 36 + env.CGO_ENABLED = "1"; 37 + }; 17 38 in { 18 39 devShells.default = pkgs.mkShell { 19 40 packages = [ 20 41 pkgs.go 21 42 ]; 43 + }; 44 + 45 + packages = { 46 + default = tack; 47 + tack = tack; 48 + }; 49 + 50 + apps = { 51 + default = { 52 + type = "app"; 53 + program = "${tack}/bin/tack"; 54 + }; 55 + tack = { 56 + type = "app"; 57 + program = "${tack}/bin/tack"; 58 + }; 22 59 }; 23 60 } 24 61 );