An atproto PDS written in Go
at v0.5.1 1.2 kB view raw
1{ 2 inputs = { 3 nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; 4 }; 5 outputs = { self, nixpkgs }: 6 let 7 systems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; 8 forAllSystems = f: nixpkgs.lib.genAttrs systems f; 9 outputsBySystem = forAllSystems (system: 10 let 11 pkgs = nixpkgs.legacyPackages.${system}; 12 in 13 { 14 packages = { 15 default = pkgs.buildGo124Module { 16 pname = "cocoon"; 17 version = "0.1.0"; 18 src = ../.; 19 vendorHash = "sha256-kFwd2FnOueEOg/YRTQ8c7/iAO3PoO3yzWyVDFu43QOs="; 20 meta.mainProgram = "cocoon"; 21 }; 22 }; 23 devShells = { 24 default = pkgs.mkShell { 25 buildInputs = [ 26 pkgs.go_1_24 27 pkgs.gopls 28 pkgs.gotools 29 pkgs.go-tools 30 ]; 31 }; 32 }; 33 }); 34 mergeOutputs = outputType: 35 nixpkgs.lib.mapAttrs (system: systemOutputs: systemOutputs.${outputType} or {}) outputsBySystem; 36 in 37 { 38 packages = mergeOutputs "packages"; 39 devShells = mergeOutputs "devShells"; 40 }; 41}