-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathshell.nix
44 lines (44 loc) · 1.37 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
let
pkgs = import <nixpkgs> { config.allowUnfree = true; };
compilerVersion = "ghc96";
compiler = pkgs.haskell.packages."${compilerVersion}";
in
let pkg =
compiler.developPackage {
root = ./.;
modifier = drv:
pkgs.haskell.lib.addBuildTools drv
((with pkgs.haskellPackages;
[ cabal-install
ghcid
haskell-language-server
]) ++
(with pkgs;
[ python3
git gitRepo gnupg autoconf curl
procps gnumake util-linux m4 gperf unzip
cudatoolkit linuxPackages.nvidia_x11
libGLU libGL
xorg.libXi xorg.libXmu freeglut
xorg.libXext xorg.libX11 xorg.libXv xorg.libXrandr zlib
ncurses5 binutils
opencl-headers
clinfo
gcc11
gmp
ispc
ocl-icd
rustc
cargo
mkjson
futhark
]));
};
in pkg.overrideAttrs (attrs: {
shellHook = attrs.shellHook + ''
export CUDA_PATH=${pkgs.cudatoolkit}
export LD_LIBRARY_PATH=${pkgs.linuxPackages.nvidia_x11}/lib:${pkgs.ncurses5}/lib
export EXTRA_LDFLAGS="-L/lib -L${pkgs.linuxPackages.nvidia_x11}/lib"
export EXTRA_CCFLAGS="-I/usr/include"
'';
})