Files
sgard/flake.nix
Kyle Isom 0113703908 Step 9: Proto definitions and gRPC code generation.
Define GardenSync service with 5 RPCs: PushManifest, PushBlobs,
PullManifest, PullBlobs, Prune. Messages for manifest, entries,
blob chunks (64 KiB streaming), and push/pull protocol flow.

Generated Go code in sgardpb/. Added Makefile proto target, gRPC +
protobuf + x/crypto deps, protoc tools to flake devShell.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 23:12:10 -07:00

47 lines
1.1 KiB
Nix

{
description = "sgard Shimmering Clarity Gardener: dotfile management";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs { inherit system; };
in
{
packages = {
sgard = pkgs.buildGoModule {
pname = "sgard";
version = "0.1.0";
src = pkgs.lib.cleanSource ./.;
subPackages = [ "cmd/sgard" ];
vendorHash = "sha256-uJMkp08SqZaZ6d64Li4Tx8I9OYjaErLexBrJaf6Vb60=";
ldflags = [ "-s" "-w" ];
meta = {
description = "Shimmering Clarity Gardener: dotfile management";
mainProgram = "sgard";
};
};
default = self.packages.${system}.sgard;
};
devShells.default = pkgs.mkShell {
buildInputs = with pkgs; [
go
golangci-lint
protobuf
protoc-gen-go
protoc-gen-go-grpc
];
};
}
);
}