-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathdevshells.nix
More file actions
72 lines (71 loc) · 1.58 KB
/
Copy pathdevshells.nix
File metadata and controls
72 lines (71 loc) · 1.58 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
60
61
62
63
64
65
66
67
68
69
70
71
72
{
inputs,
cell,
}: let
inherit (inputs.std) std;
inherit (inputs) capsules nixpkgs;
inherit (inputs.cells.cli.packages) bitte;
inherit (bitte) rustPkg rustPlatform;
l = nixpkgs.lib // builtins;
rust-dev-pkgs =
[
nixpkgs.zlib
nixpkgs.pkg-config
rustPkg
bitte.rust-analyzer
]
++ l.optionals nixpkgs.stdenv.isDarwin (with nixpkgs.darwin;
with nixpkgs.apple_sdk.frameworks; [
libiconv
libresolv
Libsystem
SystemConfiguration
Security
CoreFoundation
]);
in {
default = std.lib.mkShell {
imports = [
capsules.base
capsules.tools
capsules.integrations
];
};
cli = std.lib.mkShell {
packages = rust-dev-pkgs;
language.rust = {
packageSet = rustPlatform;
enableDefaultToolchain = false;
};
env = [
{
name = "RUST_BACKTRACE";
value = "1";
}
{
name = "RUST_SRC_PATH";
value = "${rustPkg}/lib/rustlib/src/rust/library";
}
{
name = "PKG_CONFIG_PATH";
value = l.makeSearchPath "lib/pkgconfig" bitte.buildInputs;
}
];
imports = [
"${inputs.std.inputs.devshell}/extra/language/rust.nix"
capsules.base
capsules.tools
capsules.integrations
capsules.hooks
];
commands = let
withCategory = category: attrset: attrset // {inherit category;};
bitte = withCategory "bitte";
in
with nixpkgs; [
(bitte {package = awscli;})
(bitte {package = cfssl;})
(bitte {package = cue;})
];
};
}