diff --git a/cleo.darwin.nix b/cleo.darwin.nix index e6cfc9c..8455eac 100644 --- a/cleo.darwin.nix +++ b/cleo.darwin.nix @@ -38,7 +38,7 @@ onActivation.extraFlags = [ "--force" ]; # global.autoUpdate = true; taps = [ - "bufbuild/buf" + "f1bonacc1/tap" ]; brews = [ "biome" @@ -47,6 +47,11 @@ "ccache" "rbenv" "ruby-build" + + "f1bonacc1/tap/process-compose" + + # DEV + "mise" ]; casks = [ diff --git a/cleo.home.nix b/cleo.home.nix index 072cf10..d90a1f6 100644 --- a/cleo.home.nix +++ b/cleo.home.nix @@ -127,10 +127,12 @@ in home.sessionVariables = { # Points to the Homebrew location mentioned in your caveat - ANDROID_HOME = "/opt/homebrew/share/android-commandlinetools"; JAVA_HOME = "/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home"; NPM_CONFIG_PREFIX = "${config.home.homeDirectory}/.npm-global"; GRANTED_ALIAS_CONFIGURED = "true"; + # Stub SDK root so tools that require ANDROID_HOME/platform-tools/adb work + # even though adb is managed by Homebrew (android-platform-tools cask). + ANDROID_HOME = "${config.home.homeDirectory}/android-sdk"; }; home.sessionPath = [ @@ -142,6 +144,10 @@ in '' ; home.file.".config/1Password/ssh/agent.toml".source = ./config.agent.toml; + # Stub Android SDK directory so ANDROID_HOME/platform-tools/adb resolves to + # the adb binary installed by the android-platform-tools Homebrew cask. + home.file."android-sdk/platform-tools/adb".source = config.lib.file.mkOutOfStoreSymlink "/opt/homebrew/bin/adb"; + home.file."android-sdk/cmdline-tools/latest/bin/sdkmanager".source = config.lib.file.mkOutOfStoreSymlink "/opt/homebrew/bin/sdkmanager"; xdg.configFile."opencode/opencode.jsonc".source = config.lib.file.mkOutOfStoreSymlink "/Users/matthew.bessette/nixos/config.opencode.jsonc"; programs.tmux.enable = true; diff --git a/config.opencode.jsonc b/config.opencode.jsonc index c0c0b33..007919c 100644 --- a/config.opencode.jsonc +++ b/config.opencode.jsonc @@ -5,11 +5,35 @@ "provider": {}, "lsp": true, "agent": { + "plan": { + "mode": "primary", + "model": "github-copilot/claude-sonnet-4.6", + "prompt": "You are OpenCode's architect. When given a problem, analyze the codebase and write out a strict step-by-step master plan. Once approved, use the 'todo' tool to track tasks and delegate implementation details to the general subagents using @general.", + "permission": { + "edit": "deny", + "bash": "deny", + "subagent": "allow" + } + }, "build": { - "prompt": "Always load and follow the git-workflow skill before performing any git operations such as committing, branching, syncing, or creating pull requests." + "mode": "primary", + "model": "github-copilot/claude-sonnet-4.6", + "permission": { + "edit": "allow", + "bash": "allow" + } }, "explore": { "model": "github-copilot/claude-haiku-4.5" + }, + "general": { + "mode": "subagent", + "model": "github-copilot/claude-haiku-4.5", + "description": "A fresh-context, general-purpose agent for executing individual units of multi-step tasks.", + "permission": { + "edit": "allow", + "bash": "allow" + } } }, "autoupdate": false, diff --git a/config.oxlintrc.json b/config.oxlintrc.json index ca44793..e6d8137 100644 --- a/config.oxlintrc.json +++ b/config.oxlintrc.json @@ -18,6 +18,7 @@ "unicorn/require-module-specifiers": "off", "no-await-in-loop": "warn", "typescript/no-extraneous-class": ["warn", { "allowWithDecorator": true }], + "no-shadow": "off", "eslint/no-restricted-imports": [ "error", {