diff --git a/systems/rhapsody-in-green/default.nix b/systems/rhapsody-in-green/default.nix index bb766fe..4ad367c 100644 --- a/systems/rhapsody-in-green/default.nix +++ b/systems/rhapsody-in-green/default.nix @@ -11,6 +11,7 @@ ../../common/optional/yubikey.nix ../../common/optional/zerotier.nix ./hardware.nix + ./llms.nix ./syncthing.nix inputs.nixos-hardware.nixosModules.framework-13-7040-amd ]; diff --git a/systems/rhapsody-in-green/llms.nix b/systems/rhapsody-in-green/llms.nix new file mode 100644 index 0000000..428b30b --- /dev/null +++ b/systems/rhapsody-in-green/llms.nix @@ -0,0 +1,45 @@ +{ + services = { + ollama = { + user = "ollama"; + enable = true; + host = "0.0.0.0"; + loadModels = [ + "codellama:7b" + "deepseek-r1:14b" + # "deepseek-r1:32b" + "deepseek-r1:8b" + "gemma3:12b" + # "gemma3:27b" + # "gpt-oss:120b" + "gpt-oss:20b" + # "qwen3:14b" + # "qwen3:30b" + ]; + }; + open-webui = { + enable = true; + openFirewall = true; + host = "0.0.0.0"; + environment = { + ANONYMIZED_TELEMETRY = "False"; + DO_NOT_TRACK = "True"; + SCARF_NO_ANALYTICS = "True"; + OLLAMA_API_BASE_URL = "http://127.0.0.1:11434"; + WEBUI_AUTH = "False"; + }; + }; + }; + systemd.services = { + ollama.serviceConfig = { + Nice = 19; + IOSchedulingPriority = 7; + }; + ollama-model-loader.serviceConfig = { + Nice = 19; + CPUWeight = 50; + IOSchedulingClass = "idle"; + IOSchedulingPriority = 7; + }; + }; +}