From d4d0aa68c4e05e634d0e312c5c0fa02923df3da9 Mon Sep 17 00:00:00 2001
From: Myned <dev@bjork.tech>
Date: Mon, 31 Mar 2025 16:47:53 -0500
Subject: [PATCH] ollama: add server option

---
 options/custom/programs/zed/default.nix | 27 +++++++++++++++----------
 options/custom/services/ollama.nix      |  7 +++++++
 profiles/laptop/default.nix             |  4 ++++
 3 files changed, 27 insertions(+), 11 deletions(-)

diff --git a/options/custom/programs/zed/default.nix b/options/custom/programs/zed/default.nix
index 7e212f6..5aff5c5 100644
--- a/options/custom/programs/zed/default.nix
+++ b/options/custom/programs/zed/default.nix
@@ -146,17 +146,6 @@ in {
           # https://zed.dev/docs/configuring-zed
           userSettings = {
             always_treat_brackets_as_autoclosed = true;
-
-            assistant = {
-              default_model = {
-                model = "gemma3:1b";
-                provider = "ollama";
-              };
-
-              default_width = 500;
-              version = "2";
-            };
-
             auto_install_extensions = false;
             auto_signature_help = true;
             base_keymap = "VSCode";
@@ -273,6 +262,22 @@ in {
               };
             };
 
+            # Language models
+            # https://zed.dev/docs/assistant/assistant
+            assistant = {
+              default_model = {
+                model = "codegemma:7b";
+                provider = "ollama";
+              };
+
+              default_width = 500;
+              version = "2";
+            };
+
+            language_models = {
+              api_url = "http://${config.custom.services.ollama.server}:11434";
+            };
+
             # TODO: Add missing syntax in highlights.scm
             # Theme overrides
             # https://zed.dev/docs/themes#theme-overrides
diff --git a/options/custom/services/ollama.nix b/options/custom/services/ollama.nix
index b3bcef0..6b8df34 100644
--- a/options/custom/services/ollama.nix
+++ b/options/custom/services/ollama.nix
@@ -8,6 +8,13 @@ with lib; let
 in {
   options.custom.services.ollama = {
     enable = mkOption {default = false;};
+
+    server = mkOption {
+      default =
+        if config.custom.full
+        then "localhost"
+        else "mynix";
+    };
   };
 
   config = mkIf cfg.enable {
diff --git a/profiles/laptop/default.nix b/profiles/laptop/default.nix
index 8e930f5..868ccb8 100644
--- a/profiles/laptop/default.nix
+++ b/profiles/laptop/default.nix
@@ -1,11 +1,15 @@
 {
   custom = {
     full = true;
+
+    # FIXME: Use "laptop" profile
     profile = "desktop"; # Inherit desktop profile
+
     desktop = "niri";
 
     services = {
       #// auto-cpufreq.enable = true;
+      ollama.server = "mynix";
 
       power-profiles-daemon = {
         enable = true;