server-config/services/llama-cpp.nix
2025-04-30 12:59:07 -04:00

37 lines
949 B
Nix

{
pkgs,
service_configs,
config,
inputs,
optimizePackage,
lib,
...
}:
{
services.llama-cpp = {
enable = true;
model = builtins.toString (
pkgs.fetchurl {
url = "https://huggingface.co/jedisct1/MiMo-7B-RL-GGUF/resolve/main/MiMo-7B-RL-Q4_K_M.gguf";
sha256 = "9142f02e34f64da37ae411dbde4059f5e5aac8aba32f261608d1c6f79f0c2eae";
}
);
port = service_configs.ports.llama_cpp;
host = "0.0.0.0";
package = (optimizePackage inputs.llamacpp.packages.${pkgs.system}.vulkan);
extraFlags = [
"--flash-attn"
"-ngl"
"9999"
];
};
# have to do this in order to get vulkan to work
systemd.services.llama-cpp.serviceConfig.DynamicUser = lib.mkForce false;
services.caddy.virtualHosts."llm.${service_configs.https.domain}".extraConfig = ''
${builtins.readFile ../secrets/caddy_auth}
reverse_proxy :${builtins.toString config.services.llama-cpp.port}
'';
}