47 lines
1.2 KiB
Nix
47 lines
1.2 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}: {
|
|
nixpkgs.overlays = [
|
|
(final: prev: {
|
|
ollama-intel = prev.ollama.overrideAttrs (oldAttrs: {
|
|
buildInputs =
|
|
oldAttrs.buildInputs
|
|
or []
|
|
++ [prev.intel-compute-runtime.drivers];
|
|
propagatedBuildInputs =
|
|
oldAttrs.propagetedBuildInputs
|
|
or []
|
|
++ [prev.intel-compute-runtime.drivers];
|
|
|
|
cmakeFlags = [
|
|
"GGML_NATIVE=true"
|
|
"BUILD_SHARED_LIBS=true"
|
|
"GGML_BLAS=true"
|
|
"GGML_SYCL=true"
|
|
"GGML_SYCL_F16=false"
|
|
"CMAKE_C_COMPILER=icx"
|
|
"CMAKE_CXX_COMPILER=icpx"
|
|
];
|
|
|
|
postInstall =
|
|
(oldAttrs.postInstall or "")
|
|
+ ''
|
|
mkdir -p "$out/bin"
|
|
cat << EOF > "$out/bin/ollama-wrapped"
|
|
#!/bin/sh
|
|
export LD_LIBRARY_PATH="${prev.intel-compute-runtime.drivers}/lib"
|
|
export OLLAMA_INTEL_GPU=1
|
|
exec "$out/bin/ollama-base" "\$@"
|
|
EOF
|
|
chmod +x "$out/bin/ollama-wrapped"
|
|
mv $out/bin/ollama $out/bin/ollama-base
|
|
ln -s "$out/bin/ollama-wrapped" "$out/bin/ollama"
|
|
'';
|
|
});
|
|
})
|
|
];
|
|
}
|