about summary refs log tree commit diff
path: root/configurations/eonwe/ollama.nix
diff options
context:
space:
mode:
Diffstat (limited to 'configurations/eonwe/ollama.nix')
-rw-r--r--configurations/eonwe/ollama.nix68
1 files changed, 68 insertions, 0 deletions
diff --git a/configurations/eonwe/ollama.nix b/configurations/eonwe/ollama.nix
new file mode 100644
index 0000000..a98fb3f
--- /dev/null
+++ b/configurations/eonwe/ollama.nix
@@ -0,0 +1,68 @@
+{
+  config,
+  lib,
+  ...
+}:
+
+{
+  ark.directories = [ config.services.ollama.home ];
+
+  hm.programs.firefox.profiles.default.bookmarks = [
+    {
+      name = "Bookmarks Toolbar";
+      toolbar = true;
+      bookmarks = [
+        {
+          name = "Ollama";
+          url = "http://127.0.0.1:11435";
+        }
+      ];
+    }
+  ];
+
+  services = {
+    ollama = {
+      enable = true;
+
+      host = "0.0.0.0";
+      port = 11434;
+
+      user = "ollama";
+      group = "ollama";
+
+      acceleration = "rocm";
+      rocmOverrideGfx = "10.3.0";
+
+      environmentVariables.OLLAMA_ORIGINS = lib.concatStringsSep "," [
+        "http://127.0.0.1:11435"
+        "http://eonwe.shire.net:11435"
+        "http://eonwe:11435"
+        "http://localhost:11435"
+      ];
+
+      openFirewall = true;
+    };
+
+    nextjs-ollama-llm-ui = {
+      enable = true;
+
+      hostname = "0.0.0.0";
+      port = 11435;
+
+      ollamaUrl = "http://127.0.0.1:11434";
+    };
+  };
+
+  systemd.services = {
+    ollama = {
+      serviceConfig = {
+        StateDirectory = lib.mkForce config.services.ollama.home;
+        DynamicUser = lib.mkForce false;
+        User = config.services.ollama.user;
+        Group = config.services.ollama.group;
+      };
+    };
+
+    nextjs-ollama-llm-ui.serviceConfig.CacheDirectory = "nextjs-ollama-llm-ui";
+  };
+}

Consider giving Nix/NixOS a try! <3