summaryrefslogtreecommitdiffstats
path: root/nixos/modules/services/misc
diff options
context:
space:
mode:
authorabysssol <abysssol@pm.me>2024-04-07 20:17:15 -0400
committerabysssol <abysssol@pm.me>2024-04-07 22:56:43 -0400
commit18a5476aa7779b916e588e99fb438c631a464d77 (patch)
tree63f02a5da480bc2b1fbd3ad14bda89749cf84df5 /nixos/modules/services/misc
parent67a7db0efa2d59b54f676b58bc363c1293feabcd (diff)
nixos/ollama: add options to override `HOME` and `OLLAMA_MODELS`
Diffstat (limited to 'nixos/modules/services/misc')
-rw-r--r--nixos/modules/services/misc/ollama.nix20
1 files changed, 18 insertions, 2 deletions
diff --git a/nixos/modules/services/misc/ollama.nix b/nixos/modules/services/misc/ollama.nix
index 7a5661510e25..30c2b26d8322 100644
--- a/nixos/modules/services/misc/ollama.nix
+++ b/nixos/modules/services/misc/ollama.nix
@@ -15,6 +15,22 @@ in
services.ollama = {
enable = lib.mkEnableOption "ollama server for local large language models";
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 {
type = types.str;
default = "127.0.0.1:11434";
@@ -58,8 +74,8 @@ in
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
environment = cfg.environmentVariables // {
- HOME = "%S/ollama";
- OLLAMA_MODELS = "%S/ollama/models";
+ HOME = cfg.home;
+ OLLAMA_MODELS = cfg.models;
OLLAMA_HOST = cfg.listenAddress;
};
serviceConfig = {