summaryrefslogtreecommitdiff
path: root/shells/cuda.nix
diff options
context:
space:
mode:
Diffstat (limited to 'shells/cuda.nix')
-rw-r--r--shells/cuda.nix45
1 files changed, 45 insertions, 0 deletions
diff --git a/shells/cuda.nix b/shells/cuda.nix
new file mode 100644
index 0000000..3935296
--- /dev/null
+++ b/shells/cuda.nix
@@ -0,0 +1,45 @@
+{
+ pkgs,
+ lib,
+}: let
+ nvidiaPackage = pkgs.linuxPackages_latest.nvidiaPackages.stable;
+ libs = with pkgs; [
+ # CUDA
+ cudaPackages.cuda_cudart
+ cudaPackages.cuda_nvcc
+ cudaPackages.cuda_cccl
+ cudaPackages.cudnn
+ cudatoolkit
+ nvidiaPackage
+
+ # OpenGL
+ libGLU
+ libGL
+ freeglut
+
+ # X11
+ xorg.libXi
+ xorg.libXmu
+ xorg.libXext
+ xorg.libX11
+ xorg.libXv
+ xorg.libXrandr
+
+ # Dev Tools
+ ffmpeg
+ zlib
+ gcc
+ binutils
+ ];
+in {
+ packages = libs;
+ LD_LIBRARY_PATH = lib.makeLibraryPath libs;
+
+ shellHook = ''
+ # Nvidia Driver setup
+ export NVIDIA_VISIBLE_DEVICES=all
+ export NVIDIA_DRIVER_CAPABILITIES=compute,utility
+ export CUDA_VISIBLE_DEVICES=0
+ export CUDA_PATH=${pkgs.cudatoolkit}
+ '';
+}