-
-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathshell.nix
More file actions
59 lines (53 loc) · 1.64 KB
/
Copy pathshell.nix
File metadata and controls
59 lines (53 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
let
self = import ./. { };
inherit (self) sources pkgs meta;
beku = pkgs.callPackage (sources."beku.py" + "/beku.nix") { };
cargoDependencySetOfCrate =
crate:
[ crate ]
++ pkgs.lib.concatMap cargoDependencySetOfCrate (crate.dependencies ++ crate.buildDependencies);
cargoDependencySet = pkgs.lib.unique (
pkgs.lib.flatten (
pkgs.lib.mapAttrsToList (
crateName: crate: cargoDependencySetOfCrate crate.build
) self.cargo.workspaceMembers
)
);
in
pkgs.mkShell rec {
name = meta.operator.name;
packages = with pkgs; [
## cargo et-al
rustup # this breaks pkg-config if it is in the nativeBuildInputs
cargo-udeps
## Extra dependencies for use in a pure env (nix-shell --pure)
## These are mosuly useful for maintainers of this shell.nix
## to ensure all the dependencies are caught.
# cacert
# vim nvim nano
];
# derivation runtime dependencies
buildInputs = pkgs.lib.unique (pkgs.lib.concatMap (crate: crate.buildInputs) cargoDependencySet);
# build time dependencies
nativeBuildInputs = pkgs.lib.unique (
pkgs.lib.concatMap (crate: crate.nativeBuildInputs) cargoDependencySet
++ (with pkgs; [
beku
docker
gettext # for the proper envsubst
git
jq
kind
kubectl
kubernetes-helm
kuttl
nix # this is implied, but needed in the pure env
# tilt already defined in default.nix
which
yq-go
grpcurl # for interacting with the Vector API
])
);
LIBCLANG_PATH = "${pkgs.libclang.lib}/lib";
BINDGEN_EXTRA_CLANG_ARGS = "-I${pkgs.glibc.dev}/include -I${pkgs.clang}/resource-root/include";
}