aboutsummaryrefslogtreecommitdiff
path: root/modules/server/ollama/default.nix
diff options
context:
space:
mode:
authoraethrvmn <me@aethrvmn.gr>2025-08-31 14:21:34 +0000
committeraethrvmn <me@aethrvmn.gr>2025-08-31 14:21:34 +0000
commitbfd970a07c231b5781871c16cb4612eb4c6b8fd4 (patch)
tree50a4ac5138d1f438e4d5bad3a3dd880a0784cd3e /modules/server/ollama/default.nix
parentadded flake (diff)
imported system/home-manager config
Diffstat (limited to '')
-rw-r--r--modules/server/ollama/default.nix69
1 files changed, 69 insertions, 0 deletions
diff --git a/modules/server/ollama/default.nix b/modules/server/ollama/default.nix
new file mode 100644
index 0000000..3b99daf
--- /dev/null
+++ b/modules/server/ollama/default.nix
@@ -0,0 +1,69 @@
+{ config, pkgs, lib, ... }:
+{
+ services = {
+ ollama = {
+ enable = true;
+ loadModels = [
+ "qwen3:14b"
+ "gemma3:12b"
+ "gpt-oss:20b"
+ "deepseek-r1:14b"
+ "phi4-reasoning:14b"
+ ];
+
+ acceleration = "rocm";
+ environmentVariables = {
+ HCC_AMDGPU_TARGET = "gfx1031";
+ };
+ rocmOverrideGfx = "10.3.0";
+ };
+
+ open-webui = {
+ enable = true;
+ port = 3030;
+ environment = {
+ ANONYMIZED_TELEMETRY = "False";
+ DO_NOT_TRACK = "True";
+ SCARF_NO_ANALYTICS = "True";
+ WEBUI_AUTH = "False";
+ OLLAMA_API_BASE_URL = "http://localhost:11434";
+
+ #dir stuff
+ STATIC_DIR = "${config.services.open-webui.stateDir}/static";
+ DATA_DIR = "${config.services.open-webui.stateDir}/data";
+ HF_HOME = "${config.services.open-webui.stateDir}/hf_home";
+ SENTENCE_TRANSFORMERS_HOME = "${config.services.open-webui.stateDir}/transformers_home";
+ };
+ };
+
+ xserver.videoDrivers = [ "amdgpu" ];
+
+ nginx.virtualHosts = {
+ "chat.internal" = {
+ locations."/" = {
+ proxyPass = "http://127.0.0.1:3030";
+ proxyWebsockets = true;
+ };
+ };
+
+ "ollama.internal" = {
+ locations."/" = {
+ proxyPass = "http://127.0.0.1:11434";
+ proxyWebsockets = true;
+ };
+ };
+ };
+ };
+
+ nixpkgs.config = {
+ allowUnfree = lib.mkForce true;
+ rocmSupport = lib.mkForce true;
+ rocmTargets = [ "gfx1031" ];
+ };
+
+ environment.systemPackages = with pkgs; [
+ rocmPackages.rocminfo
+ rocmPackages.rocm-smi
+ rocmPackages.hipcc
+ ];
+}
Directive (EU) 2019/790, Article 4(3); all rights regarding Text and Data Mining (TDM) are reserved.