about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ci-builds.nix3
-rw-r--r--third_party/bufbuild/default.nix27
2 files changed, 29 insertions, 1 deletions
diff --git a/ci-builds.nix b/ci-builds.nix
index b0bb6fa615..d479131818 100644
--- a/ci-builds.nix
+++ b/ci-builds.nix
@@ -57,12 +57,13 @@ in lib.fix (self: {
   ];
 
   third_party = with depot.third_party; [
+    apereo-cas
+    bufbuild
     cgit
     git
     grpc
     nix
     openldap
-    apereo-cas
   ];
 
   various = with depot; [
diff --git a/third_party/bufbuild/default.nix b/third_party/bufbuild/default.nix
new file mode 100644
index 0000000000..7706067e20
--- /dev/null
+++ b/third_party/bufbuild/default.nix
@@ -0,0 +1,27 @@
+# buf.build is a Protobuf linter and breaking change detector.
+# Several binaries are produced.
+{ pkgs, lib, ... }:
+
+pkgs.buildGoModule {
+  pname = "buf";
+  version = "v0.20.1";
+  vendorSha256 = "1gg5c7aiqb4w1zxwsraxxpln33xkmkzlp1h69xgi9i08zvrfipqs";
+
+  src = pkgs.fetchFromGitHub {
+    owner = "bufbuild";
+    repo = "buf";
+    rev = "5e8bf4c800de911764ffdf8d2188b7f6f54476e4";
+    sha256 = "1rni5swfnb4sbrd9rls4mc3902xhqrlsja96lfcdfjzx08g6kg20";
+  };
+
+  # TODO(riking): postinstall produce shell completions for bash, fish, zsh
+  # bin/buf bash-completion
+  # bin/buf zsh-completion
+  # # bin/buf manpages # not yet functional
+
+  meta = with lib; {
+    description = "Protobuf linter and breaking change detector";
+    homepage = "https://buf.build/docs/introduction";
+    license = licenses.asl20;
+  };
+}