From a4956ffbd3d4cdf5d2d1db2e8d5d1ff946a272e4 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Tue, 9 Dec 2025 10:42:00 +0100 Subject: [PATCH] Add opencode agent --- hm/mcp.nix | 66 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 60 insertions(+), 6 deletions(-) diff --git a/hm/mcp.nix b/hm/mcp.nix index bd00ac3..66b36da 100644 --- a/hm/mcp.nix +++ b/hm/mcp.nix @@ -1,10 +1,64 @@ { - programs.mcp = { - enable = true; - servers = { - mcp-nixos = { - command = "nix"; - args = [ "run" "github:utensils/mcp-nixos" "--" ]; + programs = { + mcp = { + enable = true; + servers = { + mcp-nixos = { + command = "nix"; + args = [ "run" "github:utensils/mcp-nixos" "--" ]; + }; + }; + }; + + opencode = { + enable = true; + enableMcpIntegration = true; + settings = { + provider.ollama = { + npm = "@ai-sdk/openai-compatible"; + name = "Ollama (local)"; + options.baseURL = "http://localhost:11434/v1"; + models = { + "mashriram/gemma3nTools:e4b".name = "gemma3nTools:e4b"; + "mashriram/gemma3nTools:e2b".name = "gemma3nTools:e2b"; + "MFDoom/deepseek-r1-tool-calling:8b".name = "deepseek-r1-tool-calling:8b"; + "MFDoom/deepseek-r1-tool-calling:14b".name = "deepseek-r1-tool-calling:14b"; + "deepseek-r1:14b".name = "deepseek-r1:14b"; + "deepseek-r1:8b".name = "deepseek-r1:8b"; + "gemma3n:e2b".name = "gemma3n:e2b"; + "gemma3:latest".name = "gemma3:latest"; + "qwen3:4b".name = "qwen3:4b"; + "qwen3-vl:4b".name = "qwen3-vl:4b"; + "qwen3-vl:8b".name = "qwen3-vl:8b"; + "qwen3:14b".name = "qwen3:14b"; + "qwen3:8b".name = "qwen3:8b"; + "gemma3:12b".name = "gemma3:12b"; + "gemma3n:e4b".name = "gemma3n:e4b"; + "granite3.3:8b".name = "granite3.3:8b"; + "glm-4.6:cloud".name = "glm-4.6:cloud"; + }; + }; + + tools = { + bash = true; + edit = true; + write = true; + read = true; + grep = true; + glob = true; + list = true; + patch = true; + todowrite = true; + todoread = true; + webfetch = true; + }; + + lsp = { + python = { + command = [ "ruff" "server" ]; + extensions = [ ".py" ]; + }; + }; }; }; };