forked from YosysHQ/nextpnr
-
Notifications
You must be signed in to change notification settings - Fork 0
/
shell.nix
48 lines (46 loc) · 1.24 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
{ pkgs ? import (fetchTarball https://github.com/NixOS/nixpkgs/archive/23.05.tar.gz) {} }:
let
pythonPkgs = pkgs.python3Packages;
boostPython = pkgs.boost.override { python = pythonPkgs.python; enablePython = true; };
vscode = pkgs.vscode-with-extensions.override {
vscodeExtensions = with pkgs.vscode-extensions; [
bbenoist.nix
ms-vscode.cpptools
ms-vscode.cmake-tools
twxs.cmake
usernamehw.errorlens
llvm-vs-code-extensions.vscode-clangd
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "VerilogHDL";
publisher = "mshr-h";
version = "1.11.4";
sha256 = "sha256-4JY0eaN2IkwHv8u8X6ejDXk6vT1qB4vJjWdIy8b/jj4=";
}
];
};
in pkgs.mkShell {
buildInputs = with pkgs; [
cmake
eigen
boostPython
pythonPkgs.python
pythonPkgs.apycula
libsForQt5.qt5.qtbase
llvmPackages.openmp
icestorm
trellis
mold
yosys
clang
valgrind
cling
gdb
vscode
];
shellHook = ''
export TRELLIS_INSTALL_PREFIX=${pkgs.trellis}
export ICESTORM_INSTALL_PREFIX=${pkgs.icestorm}
export QT_QPA_PLATFORM_PLUGIN_PATH="${pkgs.libsForQt5.qt5.qtbase.bin}/lib/qt-${pkgs.libsForQt5.qt5.qtbase.version}/plugins";
'';
}