{ 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} ''; }