diff --git a/profiles/opencode.nix b/profiles/opencode.nix index e5696fa..91270da 100644 --- a/profiles/opencode.nix +++ b/profiles/opencode.nix @@ -8,6 +8,10 @@ package = inputs.llm-agents.packages.${pkgs.stdenv.hostPlatform.system}.opencode; settings = { theme = "catppuccin"; + plugin = [ + "oh-my-opencode" + "opencode-antigravity-auth@1.2.2" + ]; instructions = [ "CLAUDE.md" "AGENT.md" @@ -37,8 +41,116 @@ ''; }; }; + # Antigravity Google models (for opencode-antigravity-auth plugin) + provider = { + google = { + models = { + gemini-3-pro-high = { + name = "Gemini 3 Pro High (Antigravity)"; + limit = { + context = 1048576; + output = 65535; + }; + modalities = { + input = ["text" "image" "pdf"]; + output = ["text"]; + }; + }; + gemini-3-pro-low = { + name = "Gemini 3 Pro Low (Antigravity)"; + limit = { + context = 1048576; + output = 65535; + }; + modalities = { + input = ["text" "image" "pdf"]; + output = ["text"]; + }; + }; + gemini-3-flash = { + name = "Gemini 3 Flash (Antigravity)"; + limit = { + context = 1048576; + output = 65536; + }; + modalities = { + input = ["text" "image" "pdf"]; + output = ["text"]; + }; + }; + claude-sonnet-4-5 = { + name = "Claude Sonnet 4.5 (Antigravity)"; + limit = { + context = 200000; + output = 64000; + }; + modalities = { + input = ["text" "image" "pdf"]; + output = ["text"]; + }; + }; + claude-sonnet-4-5-thinking = { + name = "Claude Sonnet 4.5 Thinking (Antigravity)"; + limit = { + context = 200000; + output = 64000; + }; + modalities = { + input = ["text" "image" "pdf"]; + output = ["text"]; + }; + }; + claude-opus-4-5-thinking = { + name = "Claude Opus 4.5 Thinking (Antigravity)"; + limit = { + context = 200000; + output = 64000; + }; + modalities = { + input = ["text" "image" "pdf"]; + output = ["text"]; + }; + }; + gpt-oss-120b-medium = { + name = "GPT-OSS 120B Medium (Antigravity)"; + limit = { + context = 131072; + output = 32768; + }; + modalities = { + input = ["text" "image" "pdf"]; + output = ["text"]; + }; + }; + }; + }; + }; }; }; + + # oh-my-opencode configuration + # - Disables built-in google_auth (using antigravity plugin instead) + # - Oracle uses Zen API (opencode/gpt-5.2) instead of ChatGPT subscription + # - Frontend/document/multimodal agents use Antigravity Gemini models + 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"; + google_auth = false; + agents = { + oracle = { + model = "opencode/gpt-5.2"; + }; + frontend-ui-ux-engineer = { + model = "google/gemini-3-pro-high"; + }; + document-writer = { + model = "google/gemini-3-flash"; + }; + multimodal-looker = { + model = "google/gemini-3-flash"; + }; + }; + }; + home.sessionVariables = { OPENCODE_EXPERIMENTAL_EXA = "true"; };