Compare commits

...

18 Commits

Author SHA1 Message Date
08fe6c6375 chore(deps): update dependency lua to v5.4.7 2025-06-16 16:39:58 +00:00
1b0fed7cf9 chore(deps): update dependency go to v1.24.4 (#243)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [go](https://github.com/golang/go) | patch | `1.24.3` -> `1.24.4` |

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODguMyIsInVwZGF0ZWRJblZlciI6IjM5LjE4OC4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: #243
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2025-06-16 16:31:01 +00:00
ef6dda89ba chore(deps): update dependency python to v3.13.5 (#242)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [python](https://github.com/python/cpython) | patch | `3.13.3` -> `3.13.5` |

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODguMyIsInVwZGF0ZWRJblZlciI6IjM5LjE4OC4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: #242
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2025-06-16 16:30:02 +00:00
124b6e7c3b chore(deps): update ghcr.io/chroma-core/chroma docker tag to v1.0.12 (#241)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| ghcr.io/chroma-core/chroma | patch | `1.0.10` -> `1.0.12` |

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODguMyIsInVwZGF0ZWRJblZlciI6IjM5LjE4OC4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: #241
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2025-06-16 16:27:41 +00:00
d2b37ab393 chore: minor random updates (#240)
* Add `tmuxp` configuration to access local `raspberry pi` cluster
* Configure editor behaviour through `editorconfig`
* Fix format for `24-bit-color` script
* Add volume for `supermaven` data
* Remove the `ANTHROPIC_API_KEY` environment variable

Reviewed-on: #240
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2025-05-28 18:50:24 +00:00
4c1b09a8ab feat(neovim): integrate with tmux using jpalardy/vim-slime (#239)
Move from the unmaintained [`EvWilson/slimux.nvim`](https://github.com/EvWilson/slimux.nvim) to [`jpalardy/vim-slime`](https://github.com/jpalardy/vim-slime).

Reviewed-on: #239
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2025-05-28 18:39:08 +00:00
ba9564ceb9 feat(mise): upgrade runtimes (#238)
* `aqua:CircleCI-Public/circleci-cli`: from 0.1.31687 to 0.1.32067
* `aqua:ajeetdsouza/zoxide`: from 0.9.7 to 0.9.8
* `aqua:alexellis/k3sup`: from 0.13.8 to 0.13.9
* `aqua:astral-sh/uv`: from 0.7.3 to 0.7.8
* `aqua:aws/aws-cli`: from 2.27.13 to 2.27.23
* `aqua:dagger/dagger`: from 0.18.6 to 0.18.9
* `aqua:evilmartians/lefthook`: from 1.11.12 to 1.11.13
* `aqua:github-cli`: from 2.72.0 to 2.73.0
* `aqua:hashicorp/terraform`: from 1.11.4 to 1.12.1
* `aqua:helm/helm`: from 3.17.3 to 3.18.0
* `aqua:kubernetes-sigs/kind`: from 0.27.0 to 0.29.0
* `aqua:kubernetes/kubectl`: from 1.33.0 to 1.33.1
* `aqua:pnpm/pnpm`: from 10.10.0 to 10.11.0
* `aqua:tilt-dev/ctlptl`: from 0.8.40 to 0.8.42
* `aqua:tilt-dev/tilt`: from 0.34.2 to 0.34.4
* `aqua:xo/usql`: from 0.19.23 to 0.19.24
* `npm:@anthropic-ai/claude-code`: from 0.2.108 to 1.0.4
* `pipx:aider-chat`: from 0.83.1 to 0.83.2
* `pipx:vectorcode`: from 0.6.6 to 0.6.9
* `ubi:supabase/cli`: from 2.22.12 to 2.23.4

Reviewed-on: #238
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2025-05-28 18:38:20 +00:00
3f7fcf1618 feat(neovim): experiment with ai agents (#237)
The following changes are introduced:

* Update `kickstart.nvim` to latest commit ([6ba24..3338d](6ba2408cdf..3338d39206))
* Add [`goose`](https://block.github.io/goose/) and [`goose.nvim`](https://block.github.io/goose/)
* Re-enable [`avante.nvim`](https://block.github.io/goose/)

Reviewed-on: #237
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2025-05-28 18:37:07 +00:00
488c0087e9 chore(deps): update ghcr.io/chroma-core/chroma docker tag to v1.0.10 (#236)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| ghcr.io/chroma-core/chroma | patch | `1.0.9` -> `1.0.10` |

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODguMyIsInVwZGF0ZWRJblZlciI6IjM5LjE4OC4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: #236
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2025-05-26 13:36:59 +00:00
78ff6a49d1 chore(deps): update dependency elixir to v1.18.4 (#234)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [elixir](https://elixir-lang.org/) ([source](https://github.com/elixir-lang/elixir)) | patch | `1.18.3` -> `1.18.4` |

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODguMyIsInVwZGF0ZWRJblZlciI6IjM5LjE4OC4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: #234
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2025-05-22 01:24:46 +00:00
aa1f76ce8c chore(deps): update dependency node to v22.16.0 (#235)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [node](https://nodejs.org) ([source](https://github.com/nodejs/node)) | minor | `22.15.1` -> `22.16.0` |

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODguMyIsInVwZGF0ZWRJblZlciI6IjM5LjE4OC4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: #235
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2025-05-22 00:24:04 +00:00
b1fd1165c4 chore(deps): update dependency erlang to v28 (#233)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [erlang](https://github.com/erlang/otp) | major | `27.3.4` -> `28.0` |

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODguMyIsInVwZGF0ZWRJblZlciI6IjM5LjE4OC4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: #233
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2025-05-22 00:19:41 +00:00
40b719e62b chore(deps): update dependency rust to v1.87.0 (#232)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [rust](https://github.com/rust-lang/rust) | minor | `1.86.0` -> `1.87.0` |

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODguMyIsInVwZGF0ZWRJblZlciI6IjM5LjE4OC4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: #232
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2025-05-19 17:21:21 +00:00
dbc570d1b8 chore(deps): update dependency node to v22.15.1 (#231)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [node](https://nodejs.org) ([source](https://github.com/nodejs/node)) | patch | `22.15.0` -> `22.15.1` |

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODguMyIsInVwZGF0ZWRJblZlciI6IjM5LjE4OC4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: #231
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2025-05-15 12:07:38 +00:00
7119db0798 chore(deps): update ghcr.io/chroma-core/chroma docker tag to v1.0.9 (#228)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| ghcr.io/chroma-core/chroma | patch | `1.0.8` -> `1.0.9` |

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODguMyIsInVwZGF0ZWRJblZlciI6IjM5LjE4OC4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: #228
Co-authored-by: renovate-bot <renovate-bot@dubas.dev>
Co-committed-by: renovate-bot <renovate-bot@dubas.dev>
2025-05-13 13:19:27 +00:00
4a318e0c36 feat: upgrade runtimes (#230)
* `docker` from 28.0.4 to 28.1.1
* `docker-compose` from 2.35.0 to 2.36.0
* `buildx` from 0.22.0 to 0.23.0
* `aws-cli` from 2.27.12 to 2.27.13
* `eksctl` from 0.207.0 to 0.208.0
* `claude-code` from 0.2.107 to 0.2.108

Reviewed-on: #230
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2025-05-13 13:19:00 +00:00
c1459b8ec1 feat(neovim): update kickstart.nvim to latest commit (#229)
Commit [`6ba2408`][0].

Reviewed-on: #229

[0]: 6ba2408cdf
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2025-05-13 13:12:36 +00:00
6231ed1bdc feat(mise): upgrade runtimes (#227)
Upgrade runtimes:

* `aqua:CircleCI-Public/circleci-cli` from 0.1.31632 to 0.1.31687
* `aqua:astral-sh/uv` from 0.7.2 to 0.7.3
* `aqua:aws/aws-cli` from 2.27.9 to 2.27.12
* `aqua:derailed/k9s` from 0.50.4 to 0.50.6
* `aqua:jj-vcs/jj` from 0.28.2 to 0.29.0
* `aqua:xo/usql` from 0.19.21 to 0.19.23
* `npm:@anthropic-ai/claude-code` from 0.2.103 to 0.2.107
* `pipx:aider-chat` from 0.82.3 to 0.83.1
* `pipx:vectorcode` from 0.6.5 to 0.6.6

Add `mcphub` configuration.

Reviewed-on: #227
Co-authored-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
Co-committed-by: Joao P Dubas <joao.dubas+gitea@gmail.com>
2025-05-12 13:41:55 +00:00
11 changed files with 345 additions and 97 deletions

28
.editorconfig Normal file
View File

@ -0,0 +1,28 @@
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
[Makefile]
indent_style = tab
indent_size = 4
[*.lua]
indent_style = space
indent_size = 2
quote_style = single
[*.md]
trim_trailing_whitespace = false
max_line_length = 80
[*.sh]
indent_style = tab
indent_size = 4
[*.yml]
indent_style = space
indent_size = 2

View File

@ -105,11 +105,11 @@ RUN apt-get update \
&& echo 'permit persist :wheel as root' > /etc/doas.conf
# command line utilities
ENV DO_VERSION 28.0.4
ENV DO_VERSION 28.1.1
ENV DO_URL https://download.docker.com/linux/static/stable/x86_64/docker-${DO_VERSION}.tgz
ENV DC_VERSION v2.35.0
ENV DC_VERSION v2.36.0
ENV DC_URL https://github.com/docker/compose/releases/download/${DC_VERSION}/docker-compose-linux-x86_64
ENV BX_VERSION v0.22.0
ENV BX_VERSION v0.23.0
ENV BX_URL https://github.com/docker/buildx/releases/download/${BX_VERSION}/buildx-${BX_VERSION}.linux-amd64
ENV EXERCISM_VERSION 3.5.4
ENV EXERCISM_FILE exercism-${EXERCISM_VERSION}-linux-x86_64.tar.gz
@ -194,7 +194,7 @@ RUN fish -c true \
&& echo 'alias nh="nvim --listen 0.0.0.0:6666 --headless &> /dev/null"' >> ${XDG_CONFIG_HOME}/fish/config.fish
# git configuration
ENV NEOVIM_KICKSTART_VERSION d350db2449da40df003c40d440f909d74e2d4e70
ENV NEOVIM_KICKSTART_VERSION 3338d3920620861f8313a2745fd5d2be39f39534
COPY ./patch/kickstart.nvim/updates.patch /tmp
COPY ./config/nvim/lua/custom/plugins/init.lua /tmp
RUN git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME}"/nvim \

View File

@ -1,10 +1,13 @@
---
model: gemini/gemini-2.5-pro-preview-03-25
reasoning-effort: medium
thinking-tokens: 8k
model: gemini/gemini-2.5-pro-preview-05-06
weak-model: gemini/gemini-2.0-flash-001
editor-model: gemini/gemini-2.5-pro-preview-03-25
editor-model: gemini/gemini-2.5-pro-preview-05-06
editor: nvim
git: true
gitignore: true
auto-commits: false
read:
- CONVENTIONS.md
- CLAUDE.md

43
config/goose/config.yaml Normal file
View File

@ -0,0 +1,43 @@
ANTHROPIC_HOST: https://api.anthropic.com
GOOSE_PROVIDER: google
GOOSE_MODEL: gemini-2.5-pro-preview-05-06
extensions:
computercontroller:
bundled: true
display_name: Computer Controller
enabled: true
name: computercontroller
timeout: 600
type: builtin
context7:
args:
- dlx
- '@upstash/context7-mcp@latest'
bundled: null
cmd: pnpm
description: null
enabled: true
env_keys: []
envs: {}
name: context7
timeout: 600
type: stdio
developer:
bundled: true
display_name: Developer Tools
enabled: true
name: developer
timeout: 600
type: builtin
git:
args:
- mcp-server-git
bundled: null
cmd: uvx
description: null
enabled: true
env_keys: []
envs: {}
name: git
timeout: 600
type: stdio

View File

@ -1,53 +1,54 @@
[tools]
"aqua:BurntSushi/ripgrep" = "14.1.1"
"aqua:CircleCI-Public/circleci-cli" = "0.1.31632"
"aqua:CircleCI-Public/circleci-cli" = "0.1.32067"
"aqua:FiloSottile/age" = "1.2.1"
"aqua:ajeetdsouza/zoxide" = "0.9.7"
"aqua:alexellis/k3sup" = "0.13.8"
"aqua:astral-sh/uv" = "0.7.2"
"aqua:aws/aws-cli" = "2.27.9"
"aqua:ajeetdsouza/zoxide" = "0.9.8"
"aqua:alexellis/k3sup" = "0.13.9"
"aqua:astral-sh/uv" = "0.7.8"
"aqua:aws/aws-cli" = "2.27.23"
"aqua:bitwarden/clients" = "cli-v2025.2.0"
"aqua:dagger/dagger" = "0.18.6"
"aqua:derailed/k9s" = "0.50.4"
"aqua:eksctl-io/eksctl" = "0.207.0"
"aqua:evilmartians/lefthook" = "1.11.12"
"aqua:dagger/dagger" = "0.18.9"
"aqua:derailed/k9s" = "0.50.6"
"aqua:eksctl-io/eksctl" = "0.208.0"
"aqua:evilmartians/lefthook" = "1.11.13"
"aqua:eza-community/eza" = "0.21.3"
"aqua:github-cli" = "2.72.0"
"aqua:github-cli" = "2.73.0"
"aqua:go-task/task" = "3.43.3"
"aqua:hashicorp/terraform" = "1.11.4"
"aqua:helm/helm" = "3.17.3"
"aqua:jj-vcs/jj" = "0.28.2"
"aqua:hashicorp/terraform" = "1.12.1"
"aqua:helm/helm" = "3.18.0"
"aqua:jj-vcs/jj" = "0.29.0"
"aqua:junegunn/fzf" = "0.62.0"
"aqua:k3d-io/k3d" = "5.8.3"
"aqua:kubernetes-sigs/kind" = "0.27.0"
"aqua:kubernetes/kubectl" = "1.33.0"
"aqua:pnpm/pnpm" = "10.10.0"
"aqua:kubernetes-sigs/kind" = "0.29.0"
"aqua:kubernetes/kubectl" = "1.33.1"
"aqua:pnpm/pnpm" = "10.11.0"
"aqua:sbstp/kubie" = "0.25.2"
"aqua:sharkdp/bat" = "0.25.0"
"aqua:starship/starship" = "1.23.0"
"aqua:tilt-dev/ctlptl" = "0.8.40"
"aqua:tilt-dev/tilt" = "0.34.2"
"aqua:xo/usql" = "0.19.21"
"aqua:tilt-dev/ctlptl" = "0.8.42"
"aqua:tilt-dev/tilt" = "0.34.4"
"aqua:xo/usql" = "0.19.24"
"go:github.com/bloznelis/typioca" = "3.1.0"
"npm:@anthropic-ai/claude-code" = "0.2.103"
"pipx:aider-chat" = { version = "0.82.3", uvx_args = "--python 3.12.10 --with google-generativeai" }
"pipx:vectorcode" = { version = "0.6.5", uvx_args = "--python 3.13.3", extras = "mcp" }
"npm:@anthropic-ai/claude-code" = "1.0.4"
"pipx:aider-chat" = { version = "0.83.2", uvx_args = "--python 3.12.10 --with google-generativeai" }
"pipx:vectorcode" = { version = "0.6.9", uvx_args = "--python 3.13.3", extras = "mcp" }
"ubi:Samyak2/toipe" = "0.5.0"
"ubi:block/goose" = "1.0.24"
"ubi:hlsxx/tukai" = "0.2.2"
"ubi:jdx/usage" = "2.1.1"
"ubi:max-niederman/ttyper" = "1.6.0"
"ubi:supabase/cli" = { version = "2.22.12", exe = "supabase" }
"ubi:supabase/cli" = { version = "2.23.4", exe = "supabase" }
"ubi:wagoodman/dive" = "0.13.1"
elixir = "1.18.3"
erlang = "27.3.4"
go = "1.24.3"
lua = "5.1.5"
elixir = "1.18.4"
erlang = "28.0"
go = "1.24.4"
lua = "5.4.7"
luajit = "2.0.5"
node = "22.15.0"
node = "22.16.0"
poetry = "2.1.3"
python = "3.13.3"
python = "3.13.5"
r = "4.5.0"
rust = "1.86.0"
rust = "1.87.0"
yarn = "1.22.22"
[settings]

View File

@ -105,43 +105,23 @@ return {
config = true,
},
{
'EvWilson/slimux.nvim',
lazy = true,
opts = function()
local status_ok, slimux = pcall(require, 'slimux')
if not status_ok then
return {}
end
return {
target_socket = slimux.get_tmux_socket(),
target_pane = string.format('%s.1', slimux.get_tmux_window()),
}
'jpalardy/vim-slime',
init = function()
vim.g.slime_target = 'tmux'
vim.g.slime_no_mappings = true
end,
keys = function()
local status_ok, which_key = pcall(require, 'which-key')
if status_ok then
which_key.add {
{ '<leader>m', group = 'Toggle ter[m]inal' },
}
end
local slimux_status_ok, slimux = pcall(require, 'slimux')
if not slimux_status_ok then
return {}
end
return {
{
'<leader>xr',
slimux.send_highlighted_text,
mode = 'v',
desc = 'Send currently highlighted text to configured tmux pane',
},
{
'<leader>r',
slimux.send_paragraph_text,
mode = 'n',
desc = 'Send paragraph under cursor to configured tmux pane',
},
}
keys = {
{ '<leader>xr', '<Plug>SlimeMotionSend', mode = 'n', desc = 'Slime send motion' },
{ '<leader>xz', ":<C-u>'<,'>SlimeSend<CR>", mode = 'v', desc = 'Slime send currently highlighted text' },
{ '<leader>xz', '<Plug>SlimeLineSend', mode = 'n', desc = 'Slime send line' },
{ '<leader>xc', '<Plug>SlimeConfig', mode = 'n', desc = 'Slime configuration' },
},
config = function()
vim.g.slime_input_pid = false
vim.g.slime_suggest_default = true
vim.g.slime_menu_config = false
vim.g.slime_neovim_ignore_unlisted = false
vim.g.slime_bracketed_paste = true
end,
},
{
@ -234,7 +214,7 @@ return {
name = 'gemini_pro',
schema = {
model = {
default = 'gemini-2.5-pro-exp-03-25',
default = 'gemini-2.5-pro-preview-05-06',
},
},
})
@ -310,6 +290,178 @@ return {
},
},
},
{
'azorng/goose.nvim',
dependencies = {
'nvim-lua/plenary.nvim',
{
'MeanderingProgrammer/render-markdown.nvim',
opts = {
file_types = { 'markdown', 'goose' },
anti_conceal = { enabled = false },
},
},
},
opts = {
prefered_picker = 'telescope',
default_global_keymaps = false,
ui = {
window_widht = 0.3,
input_height = 0.2,
fullscreen = false,
layout = 'right',
floating_height = 0.9,
display_model = true,
display_goose_mode = true,
},
providers = {
anthropic = {
'claude-sonnet-4-20250514',
},
gemini = {
'gemini-2.5-pro-preview-05-06',
'gemini-2.5-flash-preview-05-20',
'gemini-2.0-flash',
},
groq = {
'deepseek-r1-distill-llama-70b',
'qwen-qwq-32b',
},
},
},
keys = {
{ '<leader>gg', '<cmd>Goose<cr>', mode = 'n', desc = 'Toggle goose' },
{ '<leader>gi', '<cmd>GooseOpenInput<cr>', mode = 'n', desc = 'Open goose input' },
{ '<leader>gI', '<cmd>GooseOpenInputNewSession<cr>', mode = 'n', desc = 'Open goose input in new session' },
{ '<leader>go', '<cmd>GooseOpenOutput<cr>', mode = 'n', desc = 'Open goose output' },
{ '<leader>gt', '<cmd>GooseToggleFocus<cr>', mode = 'n', desc = 'Toggle focus between goose and last window' },
{ '<leader>gq', '<cmd>GooseClose<cr>', mode = 'n', desc = 'Close goose' },
{ '<leader>gf', '<cmd>GooseToggleFullscreen<cr>', mode = 'n', desc = 'Toggle goose fullscreen' },
{ '<leader>gsn', '<cmd>GooseSelectSession<cr>', mode = 'n', desc = 'Select and load a goose session' },
-- { '<leader>gmc', '<cmd>GooseModeChat<cr>', mode = 'n', desc = 'Set goose mode to `chat`' },
-- { '<leader>gma', '<cmd>GooseModeAuto<cr>', mode = 'n', desc = 'Set goose mode to `auto`' },
{ '<leader>gp', '<cmd>GooseConfigureProvider<cr>', mode = 'n', desc = 'Quick provider and model switch from predefined list' },
{ '<leader>gd', '<cmd>GooseDiff<cr>', mode = 'n', desc = 'Opens a diff tab of a modified file since the last goose prompt' },
{ '<leader>g]', '<cmd>GooseDiffNext<cr>', mode = 'n', desc = 'Navigate to next file diff' },
{ '<leader>g[', '<cmd>GooseDiffPrev<cr>', mode = 'n', desc = 'Navigate to previous file diff' },
{ '<leader>gc', '<cmd>GooseDiffClose<cr>', mode = 'n', desc = 'Close diff view tab and return to normal editing' },
{ '<leader>gra', '<cmd>GooseDiffRevertAll<cr>', mode = 'n', desc = 'Revert all file changes since the last goose prompt' },
{ '<leader>grt', '<cmd>GooseDiffRevertThis<cr>', mode = 'n', desc = 'Revert current file changes since the last goose prompt' },
},
},
{
'yetone/avante.nvim',
build = 'make',
event = 'VeryLazy',
version = false,
dependencies = {
'nvim-treesitter/nvim-treesitter',
'stevearc/dressing.nvim',
'nvim-lua/plenary.nvim',
'MunifTanjim/nui.nvim',
'nvim-telescope/telescope.nvim',
'nvim-tree/nvim-web-devicons',
{
-- support for image pasting
'HakonHarnes/img-clip.nvim',
event = 'VeryLazy',
opts = {
-- recommended settings
default = {
embed_image_as_base64 = false,
prompt_for_file_name = false,
drag_and_drop = {
insert_mode = true,
},
-- required for Windows users
use_absolute_path = true,
},
},
},
{
'MeanderingProgrammer/render-markdown.nvim',
opts = {
file_types = { 'markdown', 'Avante' },
},
ft = { 'markdown', 'Avante' },
},
},
opts = {
mappings = {
ask = '<leader>ua',
edit = '<leader>ue',
refresh = '<leader>ur',
diff = {
ours = 'co',
theirs = 'ct',
all_theirs = 'ca',
both = 'cb',
cursor = 'cc',
next = ']x',
prev = '[x',
},
suggestion = {
accept = '<M-l>',
next = '<M-]>',
prev = '<M-[>',
dismiss = '<C-]>',
},
jump = {
next = ']]',
prev = '[[',
},
submit = {
normal = '<CR>',
insert = '<C-s>',
},
sidebar = {
apply_all = 'A',
apply_cursor = 'a',
switch_windows = '<Tab>',
reverse_switch_windows = '<S-Tab>',
},
},
-- The custom_tools type supports both a list and a function that returns a list. Using a function here prevents requiring mcphub before it's loaded
custom_tools = function()
return {
require('mcphub.extensions.avante').mcp_tool(),
}
end,
hints = { enabled = true },
provider = 'gemini-pro',
-- The system_prompt type supports both a string and a function that returns a string. Using a function here allows dynamically updating the prompt with `mcphub`
system_prompt = function()
local hub = require('mcphub').get_hub_instance()
return hub and hub:get_active_servers_prompt() or ''
end,
vendors = {
['gemini-pro'] = {
__inherited_from = 'gemini',
model = 'gemini-2.5-pro-preview-05-06',
timeout = 600000,
max_tokens = 40960,
},
['gemini-flash'] = {
__inherited_from = 'gemini',
model = 'gemini-2.0-flash',
timeout = 600000,
max_tokens = 20480,
},
['claude-sonnet-4'] = {
__inherited_from = 'claude',
model = 'claude-sonnet-4-20250514',
timeout = 600000,
max_tokens = 20480,
},
groq = {
__inherited_from = 'openai',
api_key_name = 'GROQ_API_KEY',
endpoint = 'https://api.groq.com/openai/v1/',
model = 'deepseek-r1-distill-llama-70b',
},
},
},
},
{
'sphamba/smear-cursor.nvim',
opts = {

14
config/tmuxp/rpi.yml Normal file
View File

@ -0,0 +1,14 @@
---
session_name: rpi
start_directory: /opt/personal
windows:
- window_name: rpi
focus: true
layout: tiled
start_directory: labs
panes:
- focus: true
shell_command: ssh rpi00
- shell_command: ssh rpi01
- shell_command: ssh rpi02
- shell_command: ssh rpi03

View File

@ -14,13 +14,13 @@ services:
entrypoint: sleep
command: infinity
environment:
ANTHROPIC_API_KEY: ${NVIM_ANTHROPIC_API_KEY:-no-api}
GH_TOKEN: &github_token ${NVIM_GH_TOKEN:-no-token}
GITHUB_TOKEN: *github_token
COMPOSE_BAKE: 'true'
volumes:
- './config/atuin:/home/coder/.config/atuin'
- './config/git:/home/coder/.config/git'
- './config/goose:/home/coder/.config/goose'
- './config/mcphub:/home/coder/.config/mcphub'
- './config/mise:/home/coder/.config/mise'
- './config/nvim/lua/custom:/home/coder/.config/nvim/lua/custom'
@ -32,9 +32,10 @@ services:
- 'home_local_share:/home/coder/.local/share'
- 'home_local_state:/home/coder/.local/state'
- 'home_plugins_tmux:/home/coder/.config/tmux/plugins'
- 'home_supermaven:/home/coder/.supermaven'
chroma:
image: 'ghcr.io/chroma-core/chroma:1.0.8'
image: 'ghcr.io/chroma-core/chroma:1.0.12'
init: true
restart: unless-stopped
hostname: chroma
@ -51,4 +52,5 @@ volumes:
home_local_share: {}
home_local_state: {}
home_plugins_tmux: {}
home_supermaven: {}
chroma_data: {}

View File

@ -1,5 +1,5 @@
diff --git a/init.lua b/init.lua
index 776c687..6ae630e 100644
index b98ffc6..8013e25 100644
--- a/init.lua
+++ b/init.lua
@@ -91,7 +91,7 @@ vim.g.mapleader = ' '
@ -10,23 +10,23 @@ index 776c687..6ae630e 100644
+vim.g.have_nerd_font = true
-- [[ Setting options ]]
-- See `:help vim.opt`
-- See `:help vim.o`
@@ -102,10 +102,10 @@ vim.g.have_nerd_font = false
vim.opt.number = true
vim.o.number = true
-- You can also add relative line numbers, to help with jumping.
-- Experiment for yourself to see if you like it!
--- vim.opt.relativenumber = true
+vim.opt.relativenumber = true
--- vim.o.relativenumber = true
+vim.o.relativenumber = true
-- Enable mouse mode, can be useful for resizing splits for example!
-vim.opt.mouse = 'a'
+vim.opt.mouse = ''
-vim.o.mouse = 'a'
+vim.o.mouse = ''
-- Don't show the mode, since it's already in the status line
vim.opt.showmode = false
@@ -161,6 +161,14 @@ vim.opt.scrolloff = 10
vim.o.showmode = false
@@ -166,6 +166,14 @@ vim.o.scrolloff = 10
-- See `:help 'confirm'`
vim.opt.confirm = true
vim.o.confirm = true
+-- Set foldmethod
+-- See `:help foldmethod`
@ -39,7 +39,7 @@ index 776c687..6ae630e 100644
-- [[ Basic Keymaps ]]
-- See `:help vim.keymap.set()`
@@ -632,9 +640,9 @@ require('lazy').setup({
@@ -640,9 +648,9 @@ require('lazy').setup({
[vim.diagnostic.severity.HINT] = '󰌶 ',
},
} or {},
@ -52,7 +52,7 @@ index 776c687..6ae630e 100644
format = function(diagnostic)
local diagnostic_message = {
[vim.diagnostic.severity.ERROR] = diagnostic.message,
@@ -644,6 +652,7 @@ require('lazy').setup({
@@ -652,6 +660,7 @@ require('lazy').setup({
}
return diagnostic_message[diagnostic.severity]
end,
@ -60,7 +60,7 @@ index 776c687..6ae630e 100644
},
}
@@ -676,6 +685,28 @@ require('lazy').setup({
@@ -684,6 +693,28 @@ require('lazy').setup({
-- ts_ls = {},
--
@ -89,7 +89,7 @@ index 776c687..6ae630e 100644
lua_ls = {
-- cmd = { ... },
-- filetypes = { ... },
@@ -690,6 +721,32 @@ require('lazy').setup({
@@ -698,6 +729,32 @@ require('lazy').setup({
},
},
},
@ -122,7 +122,7 @@ index 776c687..6ae630e 100644
}
-- Ensure the servers and tools above are installed
@@ -721,6 +778,33 @@ require('lazy').setup({
@@ -729,6 +786,33 @@ require('lazy').setup({
-- by the server configuration above. Useful when disabling
-- certain features of an LSP (for example, turning off formatting for ts_ls)
server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {})
@ -156,23 +156,28 @@ index 776c687..6ae630e 100644
require('lspconfig')[server_name].setup(server)
end,
},
@@ -801,6 +885,8 @@ require('lazy').setup({
@@ -809,6 +893,9 @@ require('lazy').setup({
opts = {},
},
'folke/lazydev.nvim',
+ 'saghen/blink.compat',
+ 'supermaven-inc/supermaven-nvim',
+ 'Kaiser-Yang/blink-cmp-avante',
},
--- @module 'blink.cmp'
--- @type blink.cmp.Config
@@ -846,9 +932,15 @@ require('lazy').setup({
@@ -854,9 +941,19 @@ require('lazy').setup({
},
sources = {
- default = { 'lsp', 'path', 'snippets', 'lazydev' },
+ default = { 'lsp', 'path', 'snippets', 'lazydev', 'supermaven' },
+ default = { 'avante', 'lsp', 'path', 'snippets', 'lazydev', 'supermaven' },
providers = {
lazydev = { module = 'lazydev.integrations.blink', score_offset = 100 },
+ avante = {
+ name = 'avante',
+ module = 'blink-cmp-avante',
+ },
+ supermaven = {
+ name = 'supermanve',
+ module = 'blink.compat.source',
@ -182,7 +187,7 @@ index 776c687..6ae630e 100644
},
},
@@ -874,19 +966,39 @@ require('lazy').setup({
@@ -882,19 +979,39 @@ require('lazy').setup({
--
-- If you want to see what colorschemes are already installed, you can use `:Telescope colorscheme`.
'folke/tokyonight.nvim',
@ -228,7 +233,7 @@ index 776c687..6ae630e 100644
end,
},
@@ -936,7 +1048,39 @@ require('lazy').setup({
@@ -944,7 +1061,39 @@ require('lazy').setup({
main = 'nvim-treesitter.configs', -- Sets main module to use for opts
-- [[ Configure Treesitter ]] See `:help nvim-treesitter`
opts = {
@ -269,7 +274,7 @@ index 776c687..6ae630e 100644
-- Autoinstall languages that are not installed
auto_install = true,
highlight = {
@@ -966,17 +1110,17 @@ require('lazy').setup({
@@ -974,17 +1123,17 @@ require('lazy').setup({
-- Uncomment any of the lines below to enable them (you will need to restart nvim).
--
-- require 'kickstart.plugins.debug',

View File

@ -23,7 +23,7 @@ resetOutput()
# $red $green and $blue are integers
# ranging between 0 and 255 inclusive
rainbowColor()
{
{
let h=$1/43
let f=$1-43*$h
let t=$f*255/43