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