nixos/ollama: add options to override HOME and OLLAMA_MODELS

This commit is contained in:
abysssol 2024-04-07 20:17:15 -04:00
parent 67a7db0efa
commit 18a5476aa7

View File

@ -15,6 +15,22 @@ in
services.ollama = { services.ollama = {
enable = lib.mkEnableOption "ollama server for local large language models"; enable = lib.mkEnableOption "ollama server for local large language models";
package = lib.mkPackageOption pkgs "ollama" { }; package = lib.mkPackageOption pkgs "ollama" { };
home = lib.mkOption {
type = types.str;
default = "%S/ollama";
example = "/home/foo";
description = ''
The home directory that the ollama service is started in.
'';
};
models = lib.mkOption {
type = types.str;
default = "%S/ollama/models";
example = "/path/to/ollama/models";
description = ''
The directory that the ollama service will read models from and download new models to.
'';
};
listenAddress = lib.mkOption { listenAddress = lib.mkOption {
type = types.str; type = types.str;
default = "127.0.0.1:11434"; default = "127.0.0.1:11434";
@ -58,8 +74,8 @@ in
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = [ "network.target" ]; after = [ "network.target" ];
environment = cfg.environmentVariables // { environment = cfg.environmentVariables // {
HOME = "%S/ollama"; HOME = cfg.home;
OLLAMA_MODELS = "%S/ollama/models"; OLLAMA_MODELS = cfg.models;
OLLAMA_HOST = cfg.listenAddress; OLLAMA_HOST = cfg.listenAddress;
}; };
serviceConfig = { serviceConfig = {