|
1 | 1 | { inputs, ... }: |
2 | 2 | { |
3 | | - perSystem = { pkgs, system, config, ... }: |
| 3 | + perSystem = { pkgs, system, config, inputs', ... }: |
4 | 4 | let |
5 | | - pbnix-lib = inputs.protobufs-nix.lib.${system}; |
| 5 | + proto-nix = inputs.proto-nix.lib.${system}; |
6 | 6 | in |
7 | 7 | rec { |
8 | 8 |
|
9 | 9 | devShells.dev-api = pkgs.mkShell { |
10 | 10 | name = "protos-env"; |
11 | | - buildInputs = [ |
12 | | - pkgs.protobuf |
13 | | - pkgs.haskellPackages.proto-lens-protoc |
14 | | - pkgs.protoc-gen-doc |
15 | | - ] ++ config.settings.shell.tools; |
16 | | - |
| 11 | + inputsFrom = [ inputs'.proto-nix.devShells.dev-proto-nix ]; |
17 | 12 | shellHook = config.settings.shell.hook; |
18 | 13 | }; |
19 | 14 |
|
20 | 15 | packages = { |
21 | | - lambda-buffers-lang-hs-pb = pbnix-lib.haskellProto { |
22 | | - inherit pkgs; |
| 16 | + lambda-buffers-lang-hs-pb = proto-nix.haskellProto { |
23 | 17 | src = ./.; |
24 | | - proto = "lang.proto"; |
| 18 | + protos = [ "lang.proto" ]; |
25 | 19 | cabalPackageName = "lambda-buffers-lang-pb"; |
26 | 20 | }; |
27 | 21 |
|
28 | | - lambda-buffers-compiler-hs-pb = pbnix-lib.haskellProto { |
29 | | - inherit pkgs; |
| 22 | + lambda-buffers-compiler-hs-pb = proto-nix.haskellProto { |
30 | 23 | src = ./.; |
31 | | - proto = "compiler.proto"; |
| 24 | + protos = [ "compiler.proto" ]; |
32 | 25 | cabalBuildDepends = [ packages.lambda-buffers-lang-hs-pb ]; |
33 | 26 | cabalPackageName = "lambda-buffers-compiler-pb"; |
34 | 27 | }; |
35 | 28 |
|
36 | | - lambda-buffers-codegen-hs-pb = pbnix-lib.haskellProto { |
37 | | - inherit pkgs; |
| 29 | + lambda-buffers-codegen-hs-pb = proto-nix.haskellProto { |
38 | 30 | src = ./.; |
39 | | - proto = "codegen.proto"; |
| 31 | + protos = [ "codegen.proto" ]; |
40 | 32 | cabalBuildDepends = [ packages.lambda-buffers-lang-hs-pb ]; |
41 | 33 | cabalPackageName = "lambda-buffers-codegen-pb"; |
42 | 34 | }; |
43 | 35 |
|
44 | | - lambda-buffers-api-docs = pkgs.stdenv.mkDerivation { |
| 36 | + lambda-buffers-api-docs = proto-nix.docProto { |
45 | 37 | src = ./.; |
46 | | - name = "lambdabuffers-api-docs"; |
47 | | - buildInputs = [ |
48 | | - pkgs.protobuf |
49 | | - ]; |
50 | | - buildPhase = '' |
51 | | - mkdir $out; |
52 | | - protoc --plugin=${pkgs.protoc-gen-doc}/bin/protoc-gen-doc lang.proto compiler.proto codegen.proto --doc_out=$out --doc_opt=markdown,api.md; |
53 | | - ''; |
| 38 | + protos = [ "lang.proto" "compiler.proto" "codegen.proto" ]; |
54 | 39 | }; |
55 | 40 | }; |
56 | 41 | }; |
|
0 commit comments