File tree Expand file tree Collapse file tree 1 file changed +52
-0
lines changed Expand file tree Collapse file tree 1 file changed +52
-0
lines changed Original file line number Diff line number Diff line change
1
+ let
2
+ self = import ./. {};
3
+ inherit (self) sources pkgs;
4
+
5
+ beku = pkgs.callPackage (sources."beku.py" + "/beku.nix") {};
6
+ cargoDependencySetOfCrate = crate: [ crate ] ++ pkgs.lib.concatMap cargoDependencySetOfCrate (crate.dependencies ++ crate.buildDependencies);
7
+ cargoDependencySet = pkgs.lib.unique (pkgs.lib.flatten (pkgs.lib.mapAttrsToList (crateName: crate: cargoDependencySetOfCrate crate.build) self.cargo.workspaceMembers));
8
+ in pkgs.mkShell rec {
9
+ name = "{[ operator.name }]";
10
+
11
+ packages = with pkgs; [
12
+ ## cargo et-al
13
+ rustup # this breaks pkg-config if it is in the nativeBuildInputs
14
+
15
+ ## Extra dependencies for use in a pure env (nix-shell --pure)
16
+ ## These are mosuly useful for maintainers of this shell.nix
17
+ ## to ensure all the dependencies are caught.
18
+ # cacert
19
+ # vim nvim nano
20
+ ];
21
+
22
+ # derivation runtime dependencies
23
+ buildInputs = pkgs.lib.concatMap (crate: crate.buildInputs) cargoDependencySet ++ [ pkgs.libz ];
24
+
25
+ # build time dependencies
26
+ nativeBuildInputs = pkgs.lib.concatMap (crate: crate.nativeBuildInputs) cargoDependencySet ++ (with pkgs; [
27
+ # specific to secret-operator but should be discovered via crate2nix, but
28
+ # otherwise, we could include an operator-specific nix import for any extras
29
+ pkg-config
30
+ clang
31
+ openssl
32
+ protobuf
33
+ krb5
34
+
35
+ git
36
+ yq-go
37
+ jq
38
+ kubectl
39
+ nix # this is impled, but needed in the pure env
40
+ kubernetes-helm
41
+ # tilt already defined in default.nix
42
+ docker
43
+ kind
44
+
45
+ kuttl
46
+ beku
47
+ which
48
+ gettext # for the proper envsubst
49
+ ]);
50
+
51
+ LIBCLANG_PATH = "${pkgs.libclang.lib}/lib";
52
+ }
You can’t perform that action at this time.
0 commit comments