An atproto PDS written in Go

add flake (#6)

Changed files
+70
contrib
+2
contrib/.gitignore
···
···
+
# `nix build` output
+
/result
+27
contrib/flake.lock
···
···
+
{
+
"nodes": {
+
"nixpkgs": {
+
"locked": {
+
"lastModified": 1745742390,
+
"narHash": "sha256-1rqa/XPSJqJg21BKWjzJZC7yU0l/YTVtjRi0RJmipus=",
+
"owner": "NixOS",
+
"repo": "nixpkgs",
+
"rev": "26245db0cb552047418cfcef9a25da91b222d6c7",
+
"type": "github"
+
},
+
"original": {
+
"owner": "NixOS",
+
"ref": "nixos-24.11",
+
"repo": "nixpkgs",
+
"type": "github"
+
}
+
},
+
"root": {
+
"inputs": {
+
"nixpkgs": "nixpkgs"
+
}
+
}
+
},
+
"root": "root",
+
"version": 7
+
}
+41
contrib/flake.nix
···
···
+
{
+
inputs = {
+
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
+
};
+
outputs = { self, nixpkgs }:
+
let
+
systems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
+
forAllSystems = f: nixpkgs.lib.genAttrs systems f;
+
outputsBySystem = forAllSystems (system:
+
let
+
pkgs = nixpkgs.legacyPackages.${system};
+
in
+
{
+
packages = {
+
default = pkgs.buildGo124Module {
+
pname = "cocoon";
+
version = "0.1.0";
+
src = ../.;
+
vendorHash = "sha256-kFwd2FnOueEOg/YRTQ8c7/iAO3PoO3yzWyVDFu43QOs=";
+
meta.mainProgram = "cocoon";
+
};
+
};
+
devShells = {
+
default = pkgs.mkShell {
+
buildInputs = [
+
pkgs.go_1_24
+
pkgs.gopls
+
pkgs.gotools
+
pkgs.go-tools
+
];
+
};
+
};
+
});
+
mergeOutputs = outputType:
+
nixpkgs.lib.mapAttrs (system: systemOutputs: systemOutputs.${outputType} or {}) outputsBySystem;
+
in
+
{
+
packages = mergeOutputs "packages";
+
devShells = mergeOutputs "devShells";
+
};
+
}