diff --git a/modules/home/cli-apps/opencode/default.nix b/modules/home/cli-apps/opencode/default.nix index 6f463e7..fd0ca99 100644 --- a/modules/home/cli-apps/opencode/default.nix +++ b/modules/home/cli-apps/opencode/default.nix @@ -11,74 +11,13 @@ let cfg = config.metacfg.cli-apps.opencode; - # Formatters opencode runs on save, each pinned to its exact store path. - formatters = { - nixfmt = { - command = [ - (lib.getExe pkgs.nixfmt-rfc-style) - "$FILE" - ]; - extensions = [ ".nix" ]; - }; - prettier = { - command = [ - (lib.getExe pkgs.nodePackages.prettier) - "--write" - "$FILE" - ]; - extensions = [ - ".md" - ".yaml" - ".yml" - ".json" - ".css" - ".html" - ".js" - ".ts" - ".jsx" - ".tsx" - ]; - }; - shfmt = { - command = [ - (lib.getExe pkgs.shfmt) - "-w" - "$FILE" - ]; - extensions = [ - ".sh" - ".bash" - ]; - }; - ruff = { - command = [ - (lib.getExe pkgs.ruff) - "format" - "$FILE" - ]; - extensions = [ ".py" ]; - }; - taplo = { - command = [ - (lib.getExe pkgs.taplo) - "format" - "$FILE" - ]; - extensions = [ ".toml" ]; - }; - stylua = { - command = [ - (lib.getExe pkgs.stylua) - "$FILE" - ]; - extensions = [ ".lua" ]; - }; - }; - opencodeConfig = { "$schema" = "https://opencode.ai/config.json"; lsp = true; - formatter = formatters; + # Auto-format on save is disabled: opencode reformats files between the + # model's edits, which desyncs its view and breaks follow-up edits. The + # formatters remain available on PATH (home.packages) for manual use. + formatter = false; disabled_providers = [ "opencode" ]; provider.halo = { npm = "@ai-sdk/openai-compatible";