diff --git a/cleo.darwin.nix b/cleo.darwin.nix index d876cb1..978c6c5 100644 --- a/cleo.darwin.nix +++ b/cleo.darwin.nix @@ -11,6 +11,7 @@ environment.variables.EDITOR = "vim"; environment.variables.VISUAL = "vim"; environment.variables.GIT_EDITOR = "vim"; + environment.variables.OPENCODE_CONFIG = "~/.config/opencode.jsonc"; # Add Homebrew to PATH environment.systemPath = [ "/opt/homebrew/bin" "/opt/homebrew/sbin" ]; @@ -18,6 +19,7 @@ # Biome config environment.etc."biome.json".source = ./config.biome.json; environment.etc."oxlintrc.json".source = ./config.oxlintrc.json; + # environment.etc."opencode.jsonc".source = ./config.opencode.jsonc; system.primaryUser = "matthew.bessette"; users.users."matthew.bessette" = { @@ -38,14 +40,30 @@ brews = [ "biome" "jacobjohansen/tap/rds-auth-proxy" + + # CLEO APP + "ccache" + "rbenv" + "ruby-build" + ### + ]; casks = [ + + # CLEO APP + "zulu@17" + "android-commandlinetools" + "android-platform-tools" + ### + + "1password-cli" "android-commandlinetools" "android-platform-tools" "bruno" "kopiaui" "libreoffice" "postico" + "font-fira-code-nerd-font" "signal" "spotify" "yubico-yubikey-manager" diff --git a/cleo.home.nix b/cleo.home.nix index 522508a..6b72ebf 100644 --- a/cleo.home.nix +++ b/cleo.home.nix @@ -12,6 +12,12 @@ yarn jdk17 + obsidian + opencode + github-copilot-cli + gh + jira-cli-go + # DB postgresql_16 # pgdump/restore @@ -21,6 +27,10 @@ earthly awscli2 buf + + # pkg managers + uv + xcodes ]; # Enable direnv for automatic environment switching @@ -98,6 +108,9 @@ # Run auto-allow when changing directories chpwd_functions+=(auto_allow_direnv) + + eval "$(uv generate-shell-completion zsh)" + eval "$(uvx --generate-shell-completion zsh)" ''; shellAliases = { @@ -109,6 +122,21 @@ }; }; + programs.atuin = { + enable = true; + # Enable shell integrations (Home Manager will add the 'init' scripts) + enableZshIntegration = true; + + # Settings go directly here; they will be written to ~/.config/atuin/config.toml + settings = { + # auto_sync = true; + # sync_address = "https://api.atuin.sh"; + # sync_frequency = "5m"; + search_mode = "fuzzy"; + # filter_mode_shell_up_key_binding = "directory"; + }; + }; + home.sessionVariables = { # Points to the Homebrew location mentioned in your caveat ANDROID_HOME = "/opt/homebrew/share/android-commandlinetools"; @@ -125,6 +153,7 @@ '' ; home.file.".config/1Password/ssh/agent.toml".source = ./config.agent.toml; + xdg.configFile."opencode/opencode.jsonc".source = config.lib.file.mkOutOfStoreSymlink "/Users/matthew.bessette/nixos/config.opencode.jsonc"; programs.git = { enable = true; diff --git a/config.opencode.jsonc b/config.opencode.jsonc new file mode 100644 index 0000000..f50dcfa --- /dev/null +++ b/config.opencode.jsonc @@ -0,0 +1,43 @@ +{ + "$schema": "https://opencode.ai/config.json", + "model": "github-copilot/claude-sonnet-4.6", + "instructions": [], + "provider": { + "germanium": { + "npm": "@ai-sdk/openai-compatible", + "name": "Germanium vLLM", + "options": { + "baseURL": "http://192.168.2.254:11434/v1", + "apiKey": "not-needed", + "headers": { + "Content-Type": "application/json" + } + }, + "models": { + "qwen3.5-27b": { + "name": "qwen3.5-27b" + } + } + } + }, + "agent": { + "build": { + "prompt": "Always load and follow the git-workflow skill before performing any git operations such as committing, branching, syncing, or creating pull requests." + } + }, + "autoupdate": false, + "server": { + "port": 4096 + }, + "mcp": { + "figma": { + "type": "remote", + "url": "http://127.0.0.1:3845/mcp" + }, + "contentful": { + "type": "remote", + "url": "https://mcp.contentful.com/mcp", + "oauth": {} + } + } +} diff --git a/config.vscode.settings.json b/config.vscode.settings.json index e0af203..30368c1 100644 --- a/config.vscode.settings.json +++ b/config.vscode.settings.json @@ -44,13 +44,17 @@ "gitlens.ai.vscode.model": "copilot:gpt-4.1", "chat.viewSessions.orientation": "stacked", "json.schemaDownload.trustedDomains": { - "https://schemastore.azurewebsites.net/": true, - "https://raw.githubusercontent.com": true, - "https://www.schemastore.org/": true, - "https://json.schemastore.org/": true, - "https://json-schema.org/": true, + "https://biomejs.dev": true, "https://developer.microsoft.com/json-schemas/": true, - "https://biomejs.dev": true + "https://json-schema.org/": true, + "https://json.schemastore.org/": true, + "https://models.dev": true, + "https://opencode.ai": true, + "https://raw.githubusercontent.com": true, + "https://raw.githubusercontent.com/devcontainers/spec/": true, + "https://raw.githubusercontent.com/microsoft/vscode/": true, + "https://schemastore.azurewebsites.net/": true, + "https://www.schemastore.org/": true }, "oxc.enable.oxlint": true, "oxc.configPath": "/etc/oxlintrc.json",