services.llmhop.enable
Whether to enable llmhop reverse proxy.
Type: boolean
Default:
false
Example:
true
services.llmhop.package
The llmhop package to use.
Type: package
Default:
pkgs.callPackage ./package.nix { }
services.llmhop.credentials
Files handed to the service through systemd’s LoadCredential=, keyed
by the name they are exposed under. Reference them from settings as
${file:<name>}: relative paths resolve against
$CREDENTIALS_DIRECTORY, a per-unit tmpfs readable only by this
service, so secrets never enter the world-readable Nix store.
Any path works, including agenix/sops-nix outputs and manually managed files.
Type: attribute set of absolute path
Default:
{ }
Example:
{ client_token = "/run/secrets/llmhop-token"; }
services.llmhop.host
Interface llmhop binds to. The default binds every interface, leaving
access control to the firewall. IPv6 literals are written plain
(e.g. ::1) and bracketed by llmhop itself.
Type: string
Default:
""
Example:
"127.0.0.1"
services.llmhop.openFirewall
Whether to open port in the host firewall.
Type: boolean
Default:
false
services.llmhop.port
Port llmhop listens on. Registered in the global port registry, so a backend model reusing it fails evaluation instead of leaving one of the two services unable to bind.
Type: 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
8080
services.llmhop.settings
Configuration written to the JSON config file passed to llmhop.
See the upstream Config struct for available fields; host and
port are contributed by the options of the same name.
The generated file is validated at build time by the binary itself, so
unknown keys and malformed model URLs fail nixos-rebuild rather than
the service.
Type: JSON value
Default:
{ }
Example:
{
models = {
gpt-4 = {
url = "https://api.openai.com";
};
};
}