-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathshell.nix
32 lines (30 loc) · 874 Bytes
/
shell.nix
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
# Copyright 2024, UNSW
#
# SPDX-License-Identifier: BSD-2-Clause
let
rust_overlay = import (builtins.fetchTarball "https://github.com/oxalica/rust-overlay/archive/master.tar.gz");
pkgs = import <nixpkgs> { overlays = [ rust_overlay ]; };
rust = pkgs.rust-bin.fromRustupToolchainFile ./examples/rust/rust-toolchain.toml;
llvm = pkgs.llvmPackages_16;
in
pkgs.mkShell {
buildInputs = with pkgs.buildPackages; [
zig_0_13
rust
qemu
gnumake
dtc
llvm.clang
llvm.lld
llvm.libllvm
llvm.libclang
dosfstools
util-linux
# expect is only needed for CI testing but we include it for
# completeness
expect
];
hardeningDisable = [ "all" ];
# Need to specify this when using Rust with bindgen
LIBCLANG_PATH = "${llvm.libclang.lib}/lib";
}