{ description = "RustLean FIM Space — local dev shell (CUDA + llama-cpp-python) for RTX 2070 Super"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; config.allowUnfree = true; }; cuda = pkgs.cudaPackages; py = pkgs.python312; in { devShells.default = pkgs.mkShell { packages = [ py py.pkgs.pip py.pkgs.virtualenv pkgs.cmake pkgs.ninja pkgs.gcc pkgs.gnumake pkgs.git cuda.cudatoolkit cuda.cudnn ]; env = { CUDA_HOME = "${cuda.cudatoolkit}"; CMAKE_ARGS = "-DGGML_CUDA=on -DCMAKE_CUDA_ARCHITECTURES=75"; }; shellHook = '' export PATH="$CUDA_HOME/bin:$PATH" export LD_LIBRARY_PATH="${cuda.cudatoolkit}/lib:${cuda.cudnn}/lib:$LD_LIBRARY_PATH" export LIBRARY_PATH="${cuda.cudatoolkit}/lib:${cuda.cudnn}/lib:$LIBRARY_PATH" if [ ! -d .venv ]; then ${py}/bin/python -m venv .venv ./.venv/bin/pip install --upgrade pip wheel setuptools fi source .venv/bin/activate pip install -r requirements.txt pip install --force-reinstall --no-binary llama-cpp-python llama-cpp-python echo "" echo "RustLean dev shell ready. RTX 2070 Super = sm_75 (Turing)." echo "Put your token in .env (HF_TOKEN), then run: python app.py" ''; }; }); }