Skip to content

Commit dc94df6

Browse files
ahoneybunAaron Honeycutt
authored and
Aaron Honeycutt
committed
add nix-shell file for building with nix
1 parent 72c6b1f commit dc94df6

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

shell.nix

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# shell.nix
2+
3+
# NOTE we need mkShellNoCC
4+
# mkShell would add the regular gcc, which has no ada (gnat)
5+
# https://github.com/NixOS/nixpkgs/issues/142943
6+
7+
with import <nixpkgs> { };
8+
mkShellNoCC {
9+
buildInputs = [
10+
ccache
11+
cmake
12+
curl
13+
flashrom
14+
git
15+
git-lfs
16+
gmp
17+
gnat12 # gcc with ada
18+
hidapi
19+
libossp_uuid
20+
m4 flex bison # Generate flashmap descriptor parser
21+
mpfr
22+
ncurses # make menuconfig
23+
nss
24+
openssl
25+
pkg-config
26+
python3
27+
qemu # test the image
28+
rustup
29+
util-linux
30+
zlib
31+
];
32+
shellHook = ''
33+
# Set variables for libraries
34+
export LD_LIBRARY_PATH=${gmp}/lib:${mpfr}/lib:${zlib}/lib
35+
36+
# TODO remove?
37+
NIX_LDFLAGS="$NIX_LDFLAGS -lncurses"
38+
39+
# Setup Git repo
40+
git lfs install
41+
git lfs pull
42+
git submodule update --init --recursive --checkout --progress
43+
44+
# coreboot sdk
45+
make -C coreboot CPUS="$(nproc)" crossgcc-i386
46+
make -C coreboot CPUS="$(nproc)" crossgcc-x64
47+
make -C coreboot gitconfig
48+
'';
49+
}

0 commit comments

Comments
 (0)