-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathshell.nix
115 lines (107 loc) · 2.13 KB
/
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
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
{ pkgs ? import <nixpkgs> { }, old-pkgs }:
with pkgs;
let
latestNextpnr = pkgs.nextpnr.overrideAttrs (old: {
pname = "nextpnr";
version = "0.5"; # usually harmless to omit
srcs = [
(fetchFromGitHub {
owner = "YosysHQ";
repo = "nextpnr";
rev = "2f509734dff676b7543a574b64a46be4224a5aa4";
hash = "sha256-+4jmJVn+Gz94IKCMkXbE3EW66ntCW7v9N9xXtoj2Fp8=";
name = "nextpnr";
})
(fetchFromGitHub {
owner = "YosysHQ";
repo = "nextpnr-tests";
rev = "00c55a9eb9ea2e062b51fe0d64741412b185d95d";
sha256 = "sha256-83suMftMtnaRFq3T2/I7Uahb11WZlXhwYt6Q/rqi2Yo=";
name = "nextpnr-tests";
})
];
});
in
mkShell {
buildInputs = [
# For docs
graphviz
gnuplot
nodePackages.vega-cli
nodePackages.vega-lite
pikchr
python3
symbolator
adoptopenjdk-hotspot-bin-15
nodePackages.wavedrom-cli
vcd2wavedrom
sass
asciidoctor-web-pdf
asciidoctor-revealjs
asciidoctor-js
# Utils
gnumake
nixpkgs-fmt
nil
bambu
jq # Required for rust-hls-lib
pastel
# For rust
(fenix.complete.withComponents [
"cargo"
"clippy"
"rust-src"
"rustc"
"rustfmt"
])
lldb_14
lldb_14.lib
fenix.rust-analyzer
cacert
# For verilog
yosys
latestNextpnr
icestorm
openfpgaloader
python310Packages.apycula
python3
old-pkgs.verilator
verible
# Binaries from oss-cad-suite
aiger
python310Packages.amaranth
bitwuzla
avy
gtkwave
dfu-util
cvc4
cvc5
python310Packages.cocotb
btor2tools
trellis
fujprog
ghdl-llvm
verilog
usbutils
mcy
openocd
python310Packages.pyserial
openbabel
symbiyosys
surelog
tinyprog
python310Packages.xdot
yices
python310Packages.z3
# For C/CPP
gcc
clang
clang-tools
llvmPackages_16.libllvm # Required for rust-hls-lib
];
# RUST_SRC_PATH = "${unstable-pkgs.rust.packages.stable.rustPlatform.rustLibSrc}";
JAVA_HOME = "${adoptopenjdk-hotspot-bin-15}";
shellHook = ''
# ...
'';
}