Skip to content

Commit

Permalink
fix: no cuda for macos
Browse files Browse the repository at this point in the history
  • Loading branch information
xbattlax authored and fedirz committed Jan 26, 2025
1 parent 9ffdcbf commit edc5c02
Showing 1 changed file with 47 additions and 50 deletions.
97 changes: 47 additions & 50 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -3,66 +3,63 @@
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs =
{ nixpkgs, flake-utils, ... }:
flake-utils.lib.eachDefaultSystem (
system:
outputs = { nixpkgs, flake-utils, ... }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
in
{
devShells = {
default = pkgs.mkShell {
nativeBuildInputs = with pkgs; [
act
cudaPackages_12.cudnn
cudaPackages_12.libcublas
ffmpeg-full
go-task
grafana-loki
parallel
pv
python312
tempo
uv
websocat
];

# https://github.com/NixOS/nixpkgs/issues/278976#issuecomment-1879685177
# NOTE: Without adding `/run/...` the following error occurs
# RuntimeError: CUDA failed with error CUDA driver version is insufficient for CUDA runtime version
#
# NOTE: sometimes it still doesn't work but rebooting the system fixes it
LD_LIBRARY_PATH = "/run/opengl-driver/lib:${
pkgs.lib.makeLibraryPath [
# Needed for `faster-whisper`
pkgs.cudaPackages_12.cudnn
pkgs.cudaPackages_12.libcublas
# The 4 cuda packages below are needed for `onnxruntime-gpu`
pkgs.cudaPackages_12.libcurand
pkgs.cudaPackages_12.libcufft
pkgs.cudaPackages_12.cuda_cudart
pkgs.cudaPackages_12.cuda_nvrtc
linuxOnlyPkgs = with pkgs; if system == "x86_64-linux" then [
cudaPackages_12.cudnn
cudaPackages_12.libcublas
cudaPackages_12.libcurand
cudaPackages_12.libcufft
cudaPackages_12.cuda_cudart
cudaPackages_12.cuda_nvrtc
] else [];

# Needed for `soundfile`
pkgs.portaudio
# LD_LIBRARY_PATH seulement sur Linux
linuxLibPath = if system == "x86_64-linux" then "/run/opengl-driver/lib:${
pkgs.lib.makeLibraryPath ([
pkgs.cudaPackages_12.cudnn
pkgs.cudaPackages_12.libcublas
pkgs.cudaPackages_12.libcurand
pkgs.cudaPackages_12.libcufft
pkgs.cudaPackages_12.cuda_cudart
pkgs.cudaPackages_12.cuda_nvrtc
pkgs.portaudio
pkgs.zlib
pkgs.stdenv.cc.cc
pkgs.openssl
])
}" else "";

pkgs.zlib
pkgs.stdenv.cc.cc
pkgs.openssl
]
}";
in {
devShells.default = pkgs.mkShell {
nativeBuildInputs = with pkgs; [
act
ffmpeg-full
go-task
grafana-loki
parallel
pv
python312
tempo
uv
websocat
] ++ linuxOnlyPkgs;

shellHook = ''
source .venv/bin/activate
source .env
'';
};
LD_LIBRARY_PATH = linuxLibPath;

shellHook = ''
source .venv/bin/activate
source .env
'';
};

formatter = pkgs.nixfmt;
}
);
}
}

0 comments on commit edc5c02

Please sign in to comment.