nixcfg/nixosModules/services/ollama/default.nix
2024-05-27 21:39:30 -04:00

36 lines
891 B
Nix

{
pkgs,
lib,
config,
...
}: {
options = {
alyraffauf.services.ollama = {
enable = lib.mkEnableOption "Enable ollama interface for LLMs.";
listenAddress = lib.mkOption {
description = "Listen Address for Ollama.";
default = "127.0.0.1:11434";
type = lib.types.str;
};
gpu = lib.mkOption {
description = "Type of GPU for enabling GPU acceleration.";
default = null;
type = lib.types.str;
};
};
};
config = lib.mkIf config.alyraffauf.services.ollama.enable {
services.ollama = {
enable = true;
acceleration =
if config.alyraffauf.services.ollama.gpu == "amd"
then "rocm"
else if config.alyraffauf.services.ollama.gpu == "nvidia"
then "cuda"
else null;
listenAddress = config.alyraffauf.services.ollama.listenAddress;
};
};
}