File size: 1,793 Bytes
ef83975 | 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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | {
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"
'';
};
});
}
|