# SRC: https://github.com/ollama/ollama { pkgsUnstable, lib, config, util, ... }: let cfg = config.module.ollama; in { config = lib.mkIf cfg.enable { # Specify default model. # environment.variables.OLLAMA_MODEL = cfg.primaryModel; # # systemd.services = { # # Enable Ollama server. # ollama = { # description = "Ollama LLM server"; # serviceConfig = { # Type = "simple"; # }; # wantedBy = [ # "multi-user.target" # ]; # script = '' # HOME=/root ${lib.getExe pkgsUnstable.ollama} serve # ''; # }; # # # Download Ollama models. # ollama-pull = { # description = "Ollama LLM model"; # after = [ # "NetworkManager-wait-online.service" # "ollama.service" # ]; # wantedBy = [ # "multi-user.target" # ]; # wants = [ # "NetworkManager-wait-online.service" # "ollama.service" # ]; # serviceConfig = { # Type = "simple"; # }; # script = util.trimTabs '' # sleep 5 # ${lib.getExe pkgsUnstable.ollama} pull ${lib.concatStringsSep " " cfg.models} # ''; # }; # }; }; }