diff --git a/.envrc b/.envrc index 3550a30..af54e19 100644 --- a/.envrc +++ b/.envrc @@ -1 +1,2 @@ -use flake +export NIXPKGS_ALLOW_UNFREE=1 +use flake . --impure diff --git a/flake.nix b/flake.nix index c09dbd6..114eda1 100644 --- a/flake.nix +++ b/flake.nix @@ -10,6 +10,7 @@ let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; }; + nvidiaPackage = pkgs.linuxPackages.nvidiaPackages.stable; in { devShells.${system}.default = pkgs.mkShell { @@ -30,9 +31,37 @@ pandoc bc llvmPackages.openmp + # cuda stuff + ffmpeg + fmt.dev + cudaPackages.cuda_cudart + cudatoolkit + nvidiaPackage + cudaPackages.cudnn + libGLU + libGL + xorg.libXi + xorg.libXmu + freeglut + xorg.libXext + xorg.libX11 + xorg.libXv + xorg.libXrandr + zlib + ncurses + stdenv.cc + binutils + uv ]; shellHook = '' echo welcome! + echo "setting up cuda stuff" + export LD_LIBRARY_PATH="${nvidiaPackage}/lib:$LD_LIBRARY_PATH" + export CUDA_PATH=${pkgs.cudatoolkit} + export EXTRA_LDFLAGS="-L/lib -L${nvidiaPackage}/lib" + export EXTRA_CCFLAGS="-I/usr/include" + export CMAKE_PREFIX_PATH="${pkgs.fmt.dev}:$CMAKE_PREFIX_PATH" + export PKG_CONFIG_PATH="${pkgs.fmt.dev}/lib/pkgconfig:$PKG_CONFIG_PATH" ''; }; };