{inputs, ...}: { xdg.configFile = { "opencode/command" = { source = "${inputs.agents}/command"; recursive = true; }; "opencode/context" = { source = "${inputs.agents}/context"; recursive = true; }; "opencode/prompts" = { source = "${inputs.agents}/prompts"; recursive = true; }; "opencode/skill" = { source = "${inputs.agents}/skill"; recursive = true; }; }; programs.opencode = { enable = true; settings = { theme = "opencode"; plugin = ["oh-my-opencode" "opencode-beads" "opencode-antigravity-auth@beta"]; agent = builtins.fromJSON (builtins.readFile "${inputs.agents}/agent/agents.json"); formatter = { alejandra = { command = ["alejandra" "-q" "-"]; extensions = [".nix"]; }; }; mcp = { Ref = { type = "local"; command = [ "sh" "-c" "REF_API_KEY=$(cat /run/agenix/ref-key) exec bunx ref-tools-mcp@latest" ]; enabled = true; }; Anytype = { type = "local"; command = [ "sh" "-c" "OPENAPI_MCP_HEADERS=$(cat /run/agenix/anytype-key) exec bunx @anyproto/anytype-mcp" ]; enabled = false; }; Basecamp = { type = "local"; command = [ "/home/m3tam3re/p/PYTHON/Basecamp-MCP-Server/venv/bin/python" "/home/m3tam3re/p/PYTHON/Basecamp-MCP-Server/basecamp_fastmcp.py" ]; environment = { PYTHONPATH = "/home/m3tam3re/p/PYTHON/Basecamp-MCP-Server"; VIRTUAL_ENV = "/home/m3tam3re/p/PYTHON/Basecamp-MCP-Server/venv"; BASECAMP_ACCOUNT_ID = "5996442"; }; enabled = false; }; Exa = { type = "local"; command = [ "sh" "-c" "EXA_API_KEY=$(cat /run/agenix/exa-key) exec bunx exa-mcp-server@latest tools=web_search_exa" ]; enabled = true; }; }; provider = { google = { models = { antigravity-gemini-3-pro = { name = "Gemini 3 Pro (Antigravity)"; limit = { context = 1048576; output = 65535; }; modalities = { input = ["text" "image" "pdf"]; output = ["text"]; }; variants = { low = {thinkingLevel = "low";}; high = {thinkingLevel = "high";}; }; }; antigravity-gemini-3-flash = { name = "Gemini 3 Flash (Antigravity)"; limit = { context = 1048576; output = 65536; }; modalities = { input = ["text" "image" "pdf"]; output = ["text"]; }; variants = { minimal = {thinkingLevel = "minimal";}; low = {thinkingLevel = "low";}; medium = {thinkingLevel = "medium";}; high = {thinkingLevel = "high";}; }; }; antigravity-claude-sonnet-4-5 = { name = "Claude Sonnet 4.5 (Antigravity)"; limit = { context = 200000; output = 64000; }; modalities = { input = ["text" "image" "pdf"]; output = ["text"]; }; }; antigravity-claude-sonnet-4-5-thinking = { name = "Claude Sonnet 4.5 Thinking (Antigravity)"; limit = { context = 200000; output = 64000; }; modalities = { input = ["text" "image" "pdf"]; output = ["text"]; }; variants = { low = {thinkingConfig = {thinkingBudget = 8192;};}; max = {thinkingConfig = {thinkingBudget = 32768;};}; }; }; antigravity-claude-opus-4-5-thinking = { name = "Claude Opus 4.5 Thinking (Antigravity)"; limit = { context = 200000; output = 64000; }; modalities = { input = ["text" "image" "pdf"]; output = ["text"]; }; variants = { low = {thinkingConfig = {thinkingBudget = 8192;};}; max = {thinkingConfig = {thinkingBudget = 32768;};}; }; }; "gemini-2.5-flash" = { name = "Gemini 2.5 Flash (Gemini CLI)"; limit = { context = 1048576; output = 65536; }; modalities = { input = ["text" "image" "pdf"]; output = ["text"]; }; }; "gemini-2.5-pro" = { name = "Gemini 2.5 Pro (Gemini CLI)"; limit = { context = 1048576; output = 65536; }; modalities = { input = ["text" "image" "pdf"]; output = ["text"]; }; }; "gemini-3-flash-preview" = { name = "Gemini 3 Flash Preview (Gemini CLI)"; limit = { context = 1048576; output = 65536; }; modalities = { input = ["text" "image" "pdf"]; output = ["text"]; }; }; "gemini-3-pro-preview" = { name = "Gemini 3 Pro Preview (Gemini CLI)"; limit = { context = 1048576; output = 65535; }; modalities = { input = ["text" "image" "pdf"]; output = ["text"]; }; }; }; }; }; }; }; home.file.".config/opencode/oh-my-opencode.json".text = builtins.toJSON { "$schema" = "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json"; agents = { Sisyphus = { model = "opencode/glm-4.7-free"; permission = { edit = "allow"; bash = { "*" = "allow"; "rm *" = "ask"; "rmdir *" = "ask"; "mv *" = "ask"; "chmod *" = "ask"; "chown *" = "ask"; "git *" = "ask"; "git status*" = "allow"; "git log*" = "allow"; "git diff*" = "allow"; "git branch*" = "allow"; "git show*" = "allow"; "git stash list*" = "allow"; "git remote -v" = "allow"; "git add *" = "allow"; "git commit *" = "allow"; "jj *" = "ask"; "jj status" = "allow"; "jj log*" = "allow"; "jj diff*" = "allow"; "jj show*" = "allow"; "npm *" = "ask"; "npx *" = "ask"; "bun *" = "ask"; "bunx *" = "ask"; "uv *" = "ask"; "pip *" = "ask"; "pip3 *" = "ask"; "yarn *" = "ask"; "pnpm *" = "ask"; "cargo *" = "ask"; "go *" = "ask"; "make *" = "ask"; "dd *" = "deny"; "mkfs*" = "deny"; "fdisk *" = "deny"; "parted *" = "deny"; "eval *" = "deny"; "source *" = "deny"; "curl *|*sh" = "deny"; "wget *|*sh" = "deny"; "sudo *" = "deny"; "su *" = "deny"; "systemctl *" = "deny"; "service *" = "deny"; "shutdown *" = "deny"; "reboot*" = "deny"; "init *" = "deny"; "> /dev/*" = "deny"; "cat * > /dev/*" = "deny"; }; external_directory = "ask"; doom_loop = "ask"; }; }; librarian = { model = "opencode/glm-4.7-free"; permission = { edit = "deny"; bash = "deny"; }; }; explore = { model = "opencode/glm-4.7-free"; permission = { edit = "deny"; bash = "deny"; }; }; oracle = { model = "opencode/glm-4.7-free"; permission = { edit = "deny"; bash = "deny"; }; }; frontend-ui-ux-engineer = { model = "opencode/glm-4.7-free"; permission = { edit = "allow"; bash = { "*" = "ask"; "npm *" = "ask"; "npx *" = "ask"; "bun *" = "ask"; "bunx *" = "ask"; "rm *" = "ask"; "mv *" = "ask"; "dd *" = "deny"; "mkfs*" = "deny"; "sudo *" = "deny"; "curl *|*sh" = "deny"; "wget *|*sh" = "deny"; }; }; }; document-writer = { model = "opencode/glm-4.7-free"; permission = { edit = "allow"; bash = "deny"; }; }; multimodal-looker = { model = "opencode/glm-4.7-free"; permission = { edit = "deny"; bash = "deny"; }; }; }; disabled_mcps = ["context7" "websearch"]; }; }