forked from rarias/devshell
44 lines
1.4 KiB
Nix
44 lines
1.4 KiB
Nix
{
|
|
inputs.jungle.url = "git+https://jungle.bsc.es/git/rarias/jungle";
|
|
outputs = { self, jungle }:
|
|
let
|
|
nixpkgs = jungle.inputs.nixpkgs;
|
|
customOverlay = (final: prev: {
|
|
# Example overlay, for now empty
|
|
});
|
|
pkgs = import nixpkgs {
|
|
system = "x86_64-linux";
|
|
overlays = [
|
|
# Apply jungle overlay to get our BSC custom packages
|
|
jungle.outputs.bscOverlay
|
|
# And on top apply our local changes to customize for cluster
|
|
customOverlay
|
|
];
|
|
# Needed for CUDA
|
|
config.allowUnfree = true;
|
|
};
|
|
in {
|
|
devShells.x86_64-linux.default = pkgs.mkShell {
|
|
pname = "cuda-devshell";
|
|
# Include these packages in the shell
|
|
packages = with pkgs; [
|
|
# Cuda packages (more at https://search.nixos.org/packages)
|
|
cudatoolkit # Required for nvcc
|
|
(lib.getOutput "static" cudaPackages.cuda_cudart) # Required for -lcudart_static
|
|
cudaPackages.libcusparse
|
|
autoAddDriverRunpath
|
|
# ... add more packages from https://search.nixos.org/packages
|
|
];
|
|
# The dependencies needed to build these packages will be also included
|
|
inputsFrom = with pkgs; [
|
|
# Empty for now
|
|
];
|
|
shellHook = ''
|
|
export CUDA_PATH=${pkgs.cudatoolkit}
|
|
export LD_LIBRARY_PATH=/var/run/opengl-driver/lib
|
|
export SMS=50
|
|
'';
|
|
};
|
|
};
|
|
}
|