Compare commits
75 Commits
ec4430a779
...
renovate/a
Author | SHA1 | Date | |
---|---|---|---|
58b0fdcc9f | |||
c080502bfb | |||
b0bfb5cbf2 | |||
533282bfd9 | |||
a6fbbd5e65 | |||
53e6f75fc8 | |||
8cbdd5f18e | |||
8be3e065e5 | |||
5ec3b02116 | |||
2ac2c13a26 | |||
3dffced742 | |||
741e3e080f | |||
6ff1908742 | |||
1b34d5e2dc | |||
b526faa920 | |||
59a51957d7 | |||
9efc96af67 | |||
06db95af92 | |||
8523196b8e | |||
193e4d3e79 | |||
fa5369e664 | |||
9ceffc8f41 | |||
4006d1ccd5 | |||
146d7d70e5 | |||
c815282fed | |||
65f354117c | |||
42798bd8f5 | |||
5810aed37d | |||
18243d53ac | |||
1be7fdad9b | |||
7925819b48 | |||
4236d03d18 | |||
e6a3064f30 | |||
2302e4ca7d | |||
d8758554f6 | |||
feda9d1de1 | |||
400a7f2488 | |||
9fe182d987 | |||
c0234d5ae4 | |||
82122426f1 | |||
056567e88b | |||
79289c0360 | |||
1b0fed7cf9 | |||
ef6dda89ba | |||
124b6e7c3b | |||
d2b37ab393 | |||
4c1b09a8ab | |||
ba9564ceb9 | |||
3f7fcf1618 | |||
488c0087e9 | |||
78ff6a49d1 | |||
aa1f76ce8c | |||
b1fd1165c4 | |||
40b719e62b | |||
dbc570d1b8 | |||
7119db0798 | |||
4a318e0c36 | |||
c1459b8ec1 | |||
6231ed1bdc | |||
e2f72821ed | |||
e5a8d1147b | |||
678246e4ea | |||
44eca8b20d | |||
44757c8919 | |||
d39b12960f | |||
b6fd3187fe | |||
81d56e3e89 | |||
40517855aa | |||
016271c3be | |||
f20ec96f4b | |||
99da045c3c | |||
361743ee91 | |||
7b5ad10db4 | |||
760c6a8c16 | |||
573fa9774a |
28
.editorconfig
Normal file
28
.editorconfig
Normal 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
|
43
Dockerfile
43
Dockerfile
@@ -17,7 +17,6 @@ ENV DEBIAN_FRONTEND noninteractive
|
|||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y software-properties-common \
|
&& apt-get install -y software-properties-common \
|
||||||
&& add-apt-repository ppa:fish-shell/release-3 \
|
&& add-apt-repository ppa:fish-shell/release-3 \
|
||||||
&& add-apt-repository ppa:neovim-ppa/unstable \
|
|
||||||
&& apt-get update \
|
&& apt-get update \
|
||||||
&& apt-get install -y --no-install-recommends \
|
&& apt-get install -y --no-install-recommends \
|
||||||
autoconf \
|
autoconf \
|
||||||
@@ -70,7 +69,6 @@ RUN apt-get update \
|
|||||||
m4 \
|
m4 \
|
||||||
make \
|
make \
|
||||||
ncal \
|
ncal \
|
||||||
neovim \
|
|
||||||
net-tools \
|
net-tools \
|
||||||
openjdk-17-jdk \
|
openjdk-17-jdk \
|
||||||
openssh-client \
|
openssh-client \
|
||||||
@@ -107,17 +105,31 @@ RUN apt-get update \
|
|||||||
&& echo 'permit persist :wheel as root' > /etc/doas.conf
|
&& echo 'permit persist :wheel as root' > /etc/doas.conf
|
||||||
|
|
||||||
# command line utilities
|
# command line utilities
|
||||||
ENV DO_VERSION 28.0.1
|
ENV DO_VERSION 28.3.2
|
||||||
ENV DO_URL https://download.docker.com/linux/static/stable/x86_64/docker-${DO_VERSION}.tgz
|
ENV DO_URL https://download.docker.com/linux/static/stable/x86_64/docker-${DO_VERSION}.tgz
|
||||||
ENV DC_VERSION v2.33.1
|
ENV DC_VERSION v2.38.2
|
||||||
ENV DC_URL https://github.com/docker/compose/releases/download/${DC_VERSION}/docker-compose-linux-x86_64
|
ENV DC_URL https://github.com/docker/compose/releases/download/${DC_VERSION}/docker-compose-linux-x86_64
|
||||||
ENV BX_VERSION v0.21.2
|
ENV BX_VERSION v0.25.0
|
||||||
ENV BX_URL https://github.com/docker/buildx/releases/download/${BX_VERSION}/buildx-${BX_VERSION}.linux-amd64
|
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
|
||||||
|
ENV EXERCISM_URL https://github.com/exercism/cli/releases/download/v${EXERCISM_VERSION}/${EXERCISM_FILE}
|
||||||
|
ENV NVIM_VERSION v0.11.3
|
||||||
|
ENV NVIM_FILE nvim-linux-x86_64.tar.gz
|
||||||
|
ENV NVIM_URL https://github.com/neovim/neovim/releases/download/${NVIM_VERSION}/${NVIM_FILE}
|
||||||
RUN curl -sS https://starship.rs/install.sh | sh -s -- --yes \
|
RUN curl -sS https://starship.rs/install.sh | sh -s -- --yes \
|
||||||
&& mkdir /tmp/download \
|
&& mkdir /tmp/download \
|
||||||
|
&& echo 'install docker' \
|
||||||
&& curl -L ${DO_URL} | tar -zx -C /tmp/download \
|
&& curl -L ${DO_URL} | tar -zx -C /tmp/download \
|
||||||
&& chgrp --recursive docker /tmp/download \
|
&& chgrp --recursive docker /tmp/download \
|
||||||
&& mv /tmp/download/docker/* /usr/local/bin \
|
&& mv /tmp/download/docker/* /usr/local/bin \
|
||||||
|
&& echo 'install exercism' \
|
||||||
|
&& curl -L -XGET ${EXERCISM_URL} | tar -xz -C /tmp/download \
|
||||||
|
&& mv /tmp/download/exercism /usr/local/bin \
|
||||||
|
&& echo 'install neovim' \
|
||||||
|
&& curl -L -XGET ${NVIM_URL} | tar -xz -C /tmp/download \
|
||||||
|
&& mv /tmp/download/nvim-linux-x86_64 /usr/local/src/nvim \
|
||||||
|
&& ln -s /usr/local/src/nvim/bin/nvim /usr/local/bin/nvim \
|
||||||
&& rm -rf /tmp/download \
|
&& rm -rf /tmp/download \
|
||||||
&& mkdir -p /usr/local/lib/docker/cli-plugins \
|
&& mkdir -p /usr/local/lib/docker/cli-plugins \
|
||||||
&& curl -L ${DC_URL} -o /usr/local/lib/docker/cli-plugins/docker-compose \
|
&& curl -L ${DC_URL} -o /usr/local/lib/docker/cli-plugins/docker-compose \
|
||||||
@@ -141,24 +153,6 @@ ENV XDG_CACHE_HOME ${HOME}/.cache
|
|||||||
ENV STARSHIP_CONFIG ${XDG_CONFIG_HOME}/starship/config.toml
|
ENV STARSHIP_CONFIG ${XDG_CONFIG_HOME}/starship/config.toml
|
||||||
ENV PATH ${LOCAL_BIN_HOME}:$PATH
|
ENV PATH ${LOCAL_BIN_HOME}:$PATH
|
||||||
|
|
||||||
# NOTE (jpd): the section below exists mainly to handle a project running elixir 1.11.
|
|
||||||
# It allows the usage of openssl 1.1 and a compatible elixir-ls.
|
|
||||||
|
|
||||||
# configure openssl 1.1
|
|
||||||
# this is needed to compile older erlang versions
|
|
||||||
# example: KERL_CONFIGURE_OPTIONS="-with-ssl=$HOME/.local/lib/ssl" mise install
|
|
||||||
RUN mkdir -p ${HOME}/.local/src \
|
|
||||||
&& cd ${HOME}/.local/src \
|
|
||||||
&& curl -L https://www.openssl.org/source/openssl-1.1.1m.tar.gz | tar -xz \
|
|
||||||
&& cd openssl-1.1.1m \
|
|
||||||
&& ./config --prefix=${HOME}/.local/lib/ssl --openssldir=${HOME}/.local/lib/ssl shared zlib \
|
|
||||||
&& make \
|
|
||||||
# && make test \
|
|
||||||
&& make install
|
|
||||||
|
|
||||||
# fetch elixir-ls to install custom releases
|
|
||||||
RUN git clone https://github.com/elixir-lsp/elixir-ls.git ${LOCAL_SRC_HOME}/elixir-ls
|
|
||||||
|
|
||||||
# command line utilities
|
# command line utilities
|
||||||
ENV MISE_ENV_FILE .env
|
ENV MISE_ENV_FILE .env
|
||||||
RUN curl https://mise.jdx.dev/install.sh | sh \
|
RUN curl https://mise.jdx.dev/install.sh | sh \
|
||||||
@@ -182,7 +176,7 @@ RUN fish -c true \
|
|||||||
&& echo 'alias nh="nvim --listen 0.0.0.0:6666 --headless &> /dev/null"' >> ${XDG_CONFIG_HOME}/fish/config.fish
|
&& echo 'alias nh="nvim --listen 0.0.0.0:6666 --headless &> /dev/null"' >> ${XDG_CONFIG_HOME}/fish/config.fish
|
||||||
|
|
||||||
# git configuration
|
# git configuration
|
||||||
ENV NEOVIM_KICKSTART_VERSION e947649cb0ee5ac3c75593288df04d4f58359106
|
ENV NEOVIM_KICKSTART_VERSION 3338d3920620861f8313a2745fd5d2be39f39534
|
||||||
COPY ./patch/kickstart.nvim/updates.patch /tmp
|
COPY ./patch/kickstart.nvim/updates.patch /tmp
|
||||||
COPY ./config/nvim/lua/custom/plugins/init.lua /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 \
|
RUN git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME}"/nvim \
|
||||||
@@ -216,4 +210,3 @@ RUN git config --global user.email "${GIT_USER_EMAIL}" \
|
|||||||
&& git config --global includeIf."gitdir:/opt/work/".path ${XDG_CONFIG_HOME}/git/work
|
&& git config --global includeIf."gitdir:/opt/work/".path ${XDG_CONFIG_HOME}/git/work
|
||||||
|
|
||||||
COPY ./scripts/docker-entrypoint.sh /usr/local/bin/docker-entrypoint
|
COPY ./scripts/docker-entrypoint.sh /usr/local/bin/docker-entrypoint
|
||||||
COPY ./scripts/elixir-ls-setup.sh /usr/local/bin/elixir-ls-setup
|
|
||||||
|
12
Makefile
12
Makefile
@@ -16,6 +16,18 @@ patch_init_lua: ## create a patch file with the changes made in kickstart's init
|
|||||||
patch_init_lua_dry_run: ## show the changes made in kickstart's init.lua file
|
patch_init_lua_dry_run: ## show the changes made in kickstart's init.lua file
|
||||||
@cd $(neovim_config_dir) && git diff --patch init.lua
|
@cd $(neovim_config_dir) && git diff --patch init.lua
|
||||||
|
|
||||||
|
.PHONY: diff_mcphub_config
|
||||||
|
diff_mcphub_config: ## compare host's mcphub config with repository's config
|
||||||
|
@nvim -d ~/.config/mcphub/servers.json ./config/mcphub/servers.json
|
||||||
|
|
||||||
|
.PHONY: diff_mise_config
|
||||||
|
diff_mise_config: ## compare host's mise config with repository's config
|
||||||
|
@nvim -d ~/.config/mise/config.toml ./config/mise/config.toml
|
||||||
|
|
||||||
|
.PHONY: diff_custom_neovim_config
|
||||||
|
diff_custom_neovim_config: ## compare host's custom neovim config with repository's config
|
||||||
|
@nvim -d ~/.config/nvim/lua/custom/plugins/init.lua ./config/nvim/lua/custom/plugins/init.lua
|
||||||
|
|
||||||
.PHONY: help
|
.PHONY: help
|
||||||
help: ## show help message
|
help: ## show help message
|
||||||
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
|
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
|
||||||
|
@@ -1,10 +1,13 @@
|
|||||||
---
|
---
|
||||||
model: gemini-2.0.flash-001
|
reasoning-effort: medium
|
||||||
weak-model: gemini-2.0.flash-001
|
thinking-tokens: 8k
|
||||||
editor-model: claude-3-7-sonnet-20250219
|
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-05-06
|
||||||
editor: nvim
|
editor: nvim
|
||||||
git: true
|
git: true
|
||||||
gitignore: true
|
gitignore: true
|
||||||
auto-commits: false
|
auto-commits: false
|
||||||
read:
|
read:
|
||||||
- CONVENTIONS.md
|
- CONVENTIONS.md
|
||||||
|
- CLAUDE.md
|
||||||
|
43
config/goose/config.yaml
Normal file
43
config/goose/config.yaml
Normal 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
|
84
config/mcphub/servers.json
Normal file
84
config/mcphub/servers.json
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
{
|
||||||
|
"mcpServers": {
|
||||||
|
"context7": {
|
||||||
|
"command": "pnpm",
|
||||||
|
"args": [
|
||||||
|
"dlx",
|
||||||
|
"@upstash/context7-mcp@latest"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"fetch": {
|
||||||
|
"command": "uvx",
|
||||||
|
"args": [
|
||||||
|
"mcp-server-fetch"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"filesystem": {
|
||||||
|
"command": "pnpm",
|
||||||
|
"args": [
|
||||||
|
"dlx",
|
||||||
|
"@modelcontextprotocol/server-filesystem@latest",
|
||||||
|
"/opt/personal",
|
||||||
|
"/opt/work"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"git": {
|
||||||
|
"command": "uvx",
|
||||||
|
"args": [
|
||||||
|
"mcp-server-git"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"github": {
|
||||||
|
"command": "docker",
|
||||||
|
"args": [
|
||||||
|
"run",
|
||||||
|
"-i",
|
||||||
|
"--rm",
|
||||||
|
"-e",
|
||||||
|
"GITHUB_PERSONAL_ACCESS_TOKEN",
|
||||||
|
"ghcr.io/github/github-mcp-server"
|
||||||
|
],
|
||||||
|
"env": {
|
||||||
|
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GH_TOKEN}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"command": "pnpm",
|
||||||
|
"args": [
|
||||||
|
"dlx",
|
||||||
|
"@modelcontextprotocol/server-memory@latest"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"memory-bank": {
|
||||||
|
"command": "pnpm",
|
||||||
|
"args": [
|
||||||
|
"dlx",
|
||||||
|
"@allpepper/memory-bank-mcp@latest"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"sequential-thinking": {
|
||||||
|
"command": "pnpm",
|
||||||
|
"args": [
|
||||||
|
"dlx",
|
||||||
|
"@modelcontextprotocol/server-sequential-thinking@latest"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"serena": {
|
||||||
|
"command": "uvx",
|
||||||
|
"arg": [
|
||||||
|
"--from",
|
||||||
|
"git+https://github.com/oraios/serena",
|
||||||
|
"serena-mcp-server",
|
||||||
|
"--transport",
|
||||||
|
"stdio",
|
||||||
|
"--enable-web-dashboard",
|
||||||
|
"False",
|
||||||
|
"--enable-gui-log-window",
|
||||||
|
"False",
|
||||||
|
"--tool-timeout",
|
||||||
|
"30"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"nativeMCPServers": []
|
||||||
|
}
|
@@ -1,54 +1,55 @@
|
|||||||
[tools]
|
[tools]
|
||||||
"aqua:BurntSushi/ripgrep" = "14.1.1"
|
"aqua:BurntSushi/ripgrep" = "14.1.1"
|
||||||
"aqua:CircleCI-Public/circleci-cli" = "0.1.31543"
|
|
||||||
"aqua:FiloSottile/age" = "1.2.1"
|
"aqua:FiloSottile/age" = "1.2.1"
|
||||||
"aqua:ajeetdsouza/zoxide" = "0.9.7"
|
"aqua:ajeetdsouza/zoxide" = "0.9.8"
|
||||||
"aqua:alexellis/k3sup" = "0.13.8"
|
"aqua:alexellis/k3sup" = "0.13.10"
|
||||||
"aqua:astral-sh/uv" = "0.6.12"
|
"aqua:astral-sh/uv" = "0.8.3"
|
||||||
"aqua:aws/aws-cli" = "2.25.9"
|
"aqua:aws/aws-cli" = "2.27.60"
|
||||||
"aqua:bitwarden/clients" = "cli-v2025.2.0"
|
"aqua:bitwarden/clients" = "cli-v2025.5.0"
|
||||||
"aqua:dagger/dagger" = "0.18.1"
|
"aqua:dagger/dagger" = "0.18.14"
|
||||||
"aqua:derailed/k9s" = "0.40.10"
|
"aqua:derailed/k9s" = "0.50.9"
|
||||||
"aqua:eksctl-io/eksctl" = "0.207.0"
|
"aqua:eksctl-io/eksctl" = "0.211.0"
|
||||||
"aqua:evilmartians/lefthook" = "1.11.6"
|
"aqua:evilmartians/lefthook" = "1.12.2"
|
||||||
"aqua:eza-community/eza" = "0.21.0"
|
"aqua:eza-community/eza" = "0.23.0"
|
||||||
"aqua:github-cli" = "2.69.0"
|
"aqua:github-cli" = "2.76.2"
|
||||||
"aqua:go-task/task" = "3.42.1"
|
"aqua:go-task/task" = "3.44.1"
|
||||||
"aqua:hashicorp/terraform" = "1.11.3"
|
"aqua:hashicorp/terraform" = "1.12.2"
|
||||||
"aqua:helm/helm" = "3.17.2"
|
"aqua:helm/helm" = "3.18.4"
|
||||||
"aqua:junegunn/fzf" = "0.61.0"
|
"aqua:jj-vcs/jj" = "0.31.0"
|
||||||
|
"aqua:junegunn/fzf" = "0.65.0"
|
||||||
"aqua:k3d-io/k3d" = "5.8.3"
|
"aqua:k3d-io/k3d" = "5.8.3"
|
||||||
"aqua:kubernetes-sigs/kind" = "0.27.0"
|
"aqua:kubernetes-sigs/kind" = "0.29.0"
|
||||||
"aqua:kubernetes/kubectl" = "1.32.3"
|
"aqua:kubernetes/kubectl" = "1.33.2"
|
||||||
"aqua:sbstp/kubie" = "0.25.1"
|
"aqua:pnpm/pnpm" = "10.13.1"
|
||||||
|
"aqua:sbstp/kubie" = "0.26.0"
|
||||||
"aqua:sharkdp/bat" = "0.25.0"
|
"aqua:sharkdp/bat" = "0.25.0"
|
||||||
"aqua:starship/starship" = "1.22.1"
|
"aqua:starship/starship" = "1.23.0"
|
||||||
"aqua:tilt-dev/ctlptl" = "0.8.40"
|
"aqua:tilt-dev/ctlptl" = "0.8.42"
|
||||||
"aqua:tilt-dev/tilt" = "0.34.0"
|
"aqua:tilt-dev/tilt" = "0.35.0"
|
||||||
"aqua:xo/usql" = "0.19.19"
|
"npm:@anthropic-ai/claude-code" = "1.0.61"
|
||||||
"go:github.com/bloznelis/typioca" = "3.1.0"
|
"npm:@google/gemini-cli" = "0.1.14"
|
||||||
"npm:@anthropic-ai/claude-code" = "0.2.61"
|
"pipx:aider-chat" = { version = "0.85.2", uvx_args = "--python 3.12.10 --with google-generativeai" }
|
||||||
"pipx:aider-chat" = { version = "0.80.2", uvx_args = "--python 3.12.7 --with google-generativeai" }
|
"pipx:httpie" = { version = "3.2.4", uvx_args = "--python 3.13.3" }
|
||||||
"pipx:vectorcode" = { version = "0.5.5", uvx_args = "--python 3.13.2" }
|
|
||||||
"ubi:Samyak2/toipe" = "0.5.0"
|
"ubi:Samyak2/toipe" = "0.5.0"
|
||||||
|
"ubi:comtrya/comtrya" = "0.9.2"
|
||||||
"ubi:hlsxx/tukai" = "0.2.2"
|
"ubi:hlsxx/tukai" = "0.2.2"
|
||||||
"ubi:jdx/usage" = "2.0.7"
|
"ubi:jdx/usage" = "2.2.2"
|
||||||
"ubi:max-niederman/ttyper" = "1.6.0"
|
"ubi:max-niederman/ttyper" = "1.6.0"
|
||||||
|
"ubi:sst/opencode" = "0.3.79"
|
||||||
"ubi:wagoodman/dive" = "0.13.1"
|
"ubi:wagoodman/dive" = "0.13.1"
|
||||||
elixir = "1.18.3"
|
elixir = "1.18.4"
|
||||||
erlang = "27.3.1"
|
erlang = "28.0.2"
|
||||||
go = "1.24.2"
|
go = "1.24.5"
|
||||||
lua = "5.1.5"
|
lua = "5.1.5"
|
||||||
luajit = "2.0.5"
|
luajit = "2.0.5"
|
||||||
node = "22.14.0"
|
node = "24.4.1"
|
||||||
poetry = "2.1.2"
|
python = "3.13.5"
|
||||||
python = "3.13.2"
|
r = "4.5.1"
|
||||||
r = "4.4.3"
|
rust = "1.88.0"
|
||||||
rust = "1.86.0"
|
|
||||||
yarn = "1.22.22"
|
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
experimental = true
|
experimental = true
|
||||||
python_compile = true
|
python_compile = true
|
||||||
|
idiomatic_version_file_enable_tools = ["go", "ruby", "python"]
|
||||||
|
|
||||||
[env]
|
[env]
|
||||||
|
@@ -105,68 +105,261 @@ return {
|
|||||||
config = true,
|
config = true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'EvWilson/slimux.nvim',
|
'jpalardy/vim-slime',
|
||||||
lazy = true,
|
init = function()
|
||||||
opts = function()
|
vim.g.slime_target = 'tmux'
|
||||||
local status_ok, slimux = pcall(require, 'slimux')
|
vim.g.slime_no_mappings = true
|
||||||
if not status_ok then
|
|
||||||
return {}
|
|
||||||
end
|
|
||||||
return {
|
|
||||||
target_socket = slimux.get_tmux_socket(),
|
|
||||||
target_pane = string.format('%s.1', slimux.get_tmux_window()),
|
|
||||||
}
|
|
||||||
end,
|
end,
|
||||||
keys = function()
|
keys = {
|
||||||
local status_ok, which_key = pcall(require, 'which-key')
|
{ '<leader>xr', '<Plug>SlimeMotionSend', mode = 'n', desc = 'Slime send motion' },
|
||||||
if status_ok then
|
{ '<leader>xz', ":<C-u>'<,'>SlimeSend<CR>", mode = 'v', desc = 'Slime send currently highlighted text' },
|
||||||
which_key.add {
|
{ '<leader>xz', '<Plug>SlimeLineSend', mode = 'n', desc = 'Slime send line' },
|
||||||
{ '<leader>m', group = 'Toggle ter[m]inal' },
|
{ '<leader>xc', '<Plug>SlimeConfig', mode = 'n', desc = 'Slime configuration' },
|
||||||
}
|
},
|
||||||
end
|
config = function()
|
||||||
local slimux_status_ok, slimux = pcall(require, 'slimux')
|
vim.g.slime_input_pid = false
|
||||||
if not slimux_status_ok then
|
vim.g.slime_suggest_default = true
|
||||||
return {}
|
vim.g.slime_menu_config = false
|
||||||
end
|
vim.g.slime_neovim_ignore_unlisted = false
|
||||||
return {
|
vim.g.slime_bracketed_paste = true
|
||||||
{
|
|
||||||
'<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',
|
|
||||||
},
|
|
||||||
}
|
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'yetone/avante.nvim',
|
'ravitemer/mcphub.nvim',
|
||||||
event = 'VeryLazy',
|
dependencies = {
|
||||||
lazy = false,
|
'nvim-lua/plenary.nvim',
|
||||||
version = false,
|
},
|
||||||
|
cmd = 'MCPHub',
|
||||||
|
build = 'bundled_build.lua',
|
||||||
opts = {
|
opts = {
|
||||||
provider = 'claude',
|
port = 37373,
|
||||||
auto_suggestion_provider = 'claude',
|
config = vim.fn.expand '~/.config/mcphub/servers.json',
|
||||||
claude = {
|
native_servers = {},
|
||||||
endpoint = 'https://api.anthropic.com',
|
auto_approve = true,
|
||||||
model = 'claude-3-7-sonnet-20250219',
|
auto_toggle_mcp_servers = true,
|
||||||
temperature = 0,
|
extensions = {},
|
||||||
max_tokens = 4096,
|
ui = {
|
||||||
|
window = {
|
||||||
|
width = 0.8,
|
||||||
|
height = 0.8,
|
||||||
|
relative = 'editor',
|
||||||
|
zindex = 50,
|
||||||
|
border = 'rounded',
|
||||||
|
},
|
||||||
|
wo = {},
|
||||||
},
|
},
|
||||||
behaviour = {
|
use_bundled_binary = true,
|
||||||
auto_suggestions = false,
|
log = {
|
||||||
auto_set_highlight_group = true,
|
level = vim.log.levels.WARN,
|
||||||
aute_set_keymaps = true,
|
prefix = '[MCPHub]',
|
||||||
auto_apply_diff_after_generation = true,
|
|
||||||
support_paste_from_clipboard = false,
|
|
||||||
minimize_diff = true,
|
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'olimorris/codecompanion.nvim',
|
||||||
|
dependencies = {
|
||||||
|
'nvim-lua/plenary.nvim',
|
||||||
|
'nvim-treesitter/nvim-treesitter',
|
||||||
|
{
|
||||||
|
'MeanderingProgrammer/render-markdown.nvim',
|
||||||
|
opts = {
|
||||||
|
file_types = { 'markdown', 'codecompanion' },
|
||||||
|
},
|
||||||
|
ft = { 'markdown', 'codecompanion' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
opts = function()
|
||||||
|
return {
|
||||||
|
display = {
|
||||||
|
action_palette = {
|
||||||
|
width = 95,
|
||||||
|
height = 15,
|
||||||
|
prompt = 'Prompt',
|
||||||
|
provide = 'telescope',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
adapters = {
|
||||||
|
gemini_pro = function()
|
||||||
|
return require('codecompanion.adapters').extend('gemini', {
|
||||||
|
name = 'gemini_pro',
|
||||||
|
schema = {
|
||||||
|
model = {
|
||||||
|
default = 'gemini-2.5-pro',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
gemini_flash = function()
|
||||||
|
return require('codecompanion.adapters').extend('gemini', {
|
||||||
|
name = 'gemini_flash',
|
||||||
|
schema = {
|
||||||
|
model = {
|
||||||
|
default = 'gemini-2.5-flash',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
extensions = {
|
||||||
|
vectorcode = {
|
||||||
|
opts = {
|
||||||
|
add_tool = true,
|
||||||
|
add_slash_command = true,
|
||||||
|
tool_opts = {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
mcphub = {
|
||||||
|
callback = 'mcphub.extensions.codecompanion',
|
||||||
|
opts = {
|
||||||
|
make_slash_commands = true,
|
||||||
|
make_vars = true,
|
||||||
|
show_result_in_chat = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
strategies = {
|
||||||
|
chat = { adapter = 'gemini_pro' },
|
||||||
|
inline = { adapter = 'gemini_flash' },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
'<leader>aa',
|
||||||
|
'<cmd>CodeCompanionActions<cr>',
|
||||||
|
mode = { 'n', 'v' },
|
||||||
|
desc = 'CodeCompaion actions',
|
||||||
|
noremap = true,
|
||||||
|
silent = true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'<leader>at',
|
||||||
|
'<cmd>CodeCompanionChat Toggle<cr>',
|
||||||
|
mode = { 'n', 'v' },
|
||||||
|
desc = 'CodeCompanion toggle chat',
|
||||||
|
noremap = true,
|
||||||
|
silent = true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'ga',
|
||||||
|
'<cmd>CodeCompanionChat add<cr>',
|
||||||
|
mode = 'v',
|
||||||
|
desc = 'CodeCompanion add to chat',
|
||||||
|
noremap = true,
|
||||||
|
silent = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'supermaven-inc/supermaven-nvim',
|
||||||
|
opts = {
|
||||||
|
keymaps = {
|
||||||
|
accept_suggestion = '<Tab>',
|
||||||
|
clear_suggestion = '<C-]>',
|
||||||
|
accept_word = '<C-j>',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'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',
|
||||||
|
'gemini-2.5-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 = {
|
mappings = {
|
||||||
|
ask = '<leader>ua',
|
||||||
|
edit = '<leader>ue',
|
||||||
|
refresh = '<leader>ur',
|
||||||
diff = {
|
diff = {
|
||||||
ours = 'co',
|
ours = 'co',
|
||||||
theirs = 'ct',
|
theirs = 'ct',
|
||||||
@@ -197,80 +390,62 @@ return {
|
|||||||
reverse_switch_windows = '<S-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 },
|
hints = { enabled = true },
|
||||||
windows = {
|
provider = 'gemini-pro',
|
||||||
position = 'right',
|
-- 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`
|
||||||
wrap = true,
|
system_prompt = function()
|
||||||
width = 30,
|
local hub = require('mcphub').get_hub_instance()
|
||||||
sidebar_header = {
|
return hub and hub:get_active_servers_prompt() or ''
|
||||||
enabled = true,
|
end,
|
||||||
align = 'center',
|
providers = {
|
||||||
rounded = true,
|
['deepseek-r1-local'] = {
|
||||||
|
__inherited_from = 'ollama',
|
||||||
|
api_key_name = '',
|
||||||
|
endpoint = 'http://172.30.64.1:10000',
|
||||||
|
model = 'deepseek-r1:14b',
|
||||||
},
|
},
|
||||||
input = {
|
['gemma3-local'] = {
|
||||||
prefix = '> ',
|
__inherited_from = 'ollama',
|
||||||
height = 8,
|
api_key_name = '',
|
||||||
|
endpoint = 'http://172.30.64.1:10000',
|
||||||
|
model = 'gemma3:12b',
|
||||||
},
|
},
|
||||||
edit = {
|
['qwen3-local'] = {
|
||||||
border = 'rounded',
|
__inherited_from = 'ollama',
|
||||||
start_insert = true,
|
api_key_name = '',
|
||||||
|
endpoint = 'http://172.30.64.1:10000',
|
||||||
|
model = 'qwen3:14b',
|
||||||
},
|
},
|
||||||
ask = {
|
['gemini-pro'] = {
|
||||||
floating = false,
|
__inherited_from = 'gemini',
|
||||||
start_insert = true,
|
model = 'gemini-2.5-pro',
|
||||||
border = 'rounded',
|
timeout = 600000,
|
||||||
focus_on_apply = 'ours',
|
extra_request_body = { max_tokens = 40960 },
|
||||||
},
|
},
|
||||||
},
|
['gemini-flash'] = {
|
||||||
highlights = {
|
__inherited_from = 'gemini',
|
||||||
diff = {
|
model = 'gemini-2.5-flash',
|
||||||
current = 'DiffText',
|
timeout = 600000,
|
||||||
incoming = 'DiffAdd',
|
extra_request_body = { max_tokens = 20480 },
|
||||||
},
|
},
|
||||||
},
|
['claude-sonnet-4'] = {
|
||||||
diff = {
|
__inherited_from = 'claude',
|
||||||
autojump = true,
|
model = 'claude-sonnet-4-20250514',
|
||||||
list_opener = 'copen',
|
timeout = 600000,
|
||||||
override_timeoutlen = 500,
|
extra_request_body = { max_tokens = 20480 },
|
||||||
},
|
|
||||||
},
|
|
||||||
build = 'make',
|
|
||||||
dependencies = {
|
|
||||||
'stevearc/dressing.nvim',
|
|
||||||
'nvim-lua/plenary.nvim',
|
|
||||||
'MunifTanjim/nui.nvim',
|
|
||||||
'hrsh7th/nvim-cmp',
|
|
||||||
'nvim-tree/nvim-web-devicons',
|
|
||||||
{
|
|
||||||
'HakonHarnes/img-clip.nvim',
|
|
||||||
event = 'VeryLazy',
|
|
||||||
opts = {
|
|
||||||
default = {
|
|
||||||
embed_image_as_base64 = false,
|
|
||||||
prompt_for_file_name = false,
|
|
||||||
drag_and_drop = {
|
|
||||||
insert_mode = true,
|
|
||||||
},
|
|
||||||
use_absolute_path = true,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
},
|
groq = {
|
||||||
{
|
__inherited_from = 'openai',
|
||||||
'MeanderingProgrammer/render-markdown.nvim',
|
api_key_name = 'GROQ_API_KEY',
|
||||||
opts = {
|
endpoint = 'https://api.groq.com/openai/v1/',
|
||||||
file_types = { 'markdown', 'Avante' },
|
model = 'deepseek-r1-distill-llama-70b',
|
||||||
},
|
},
|
||||||
ft = { 'markdown', 'Avante' },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'supermaven-inc/supermaven-nvim',
|
|
||||||
opts = {
|
|
||||||
keymaps = {
|
|
||||||
accept_suggestion = '<Tab>',
|
|
||||||
clear_suggestion = '<C-]>',
|
|
||||||
accept_word = '<C-j>',
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -285,4 +460,51 @@ return {
|
|||||||
trailing_stiffness = 0.1,
|
trailing_stiffness = 0.1,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
'greggh/claude-code.nvim',
|
||||||
|
dependencies = {
|
||||||
|
'nvim-lua/plenary.nvim',
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
window = {
|
||||||
|
split_ratio = 0.5,
|
||||||
|
position = 'botright',
|
||||||
|
enter_insert = true,
|
||||||
|
hide_numbers = true,
|
||||||
|
hide_signcolumn = true,
|
||||||
|
},
|
||||||
|
refresh = {
|
||||||
|
enable = true,
|
||||||
|
updatetime = 100,
|
||||||
|
timer_interval = 1000,
|
||||||
|
show_notifications = true,
|
||||||
|
},
|
||||||
|
git = {
|
||||||
|
use_git_root = true,
|
||||||
|
},
|
||||||
|
shell = {
|
||||||
|
separator = '&&',
|
||||||
|
pushd_cmd = 'pushd',
|
||||||
|
popd_cmd = 'popd',
|
||||||
|
},
|
||||||
|
command = 'claude',
|
||||||
|
command_variants = {
|
||||||
|
continue = '--continue', -- Resume the most recent conversation
|
||||||
|
resume = '--resume', -- Display an interactive conversation picker
|
||||||
|
verbose = '--verbose', -- Enable verbose logging with full turn-by-turn output
|
||||||
|
},
|
||||||
|
keymaps = {
|
||||||
|
toggle = {
|
||||||
|
normal = '<C-_>',
|
||||||
|
terminal = '<C-_>',
|
||||||
|
variants = {
|
||||||
|
continue = '<leader>cC',
|
||||||
|
verbose = '<leader>cV',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
window_navigation = true,
|
||||||
|
scrolling = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
14
config/tmuxp/rpi.yml
Normal file
14
config/tmuxp/rpi.yml
Normal 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
|
4
config/vectorcode/config.json5
Normal file
4
config/vectorcode/config.json5
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"host": "chroma",
|
||||||
|
"port": "8000"
|
||||||
|
}
|
@@ -14,25 +14,28 @@ services:
|
|||||||
entrypoint: sleep
|
entrypoint: sleep
|
||||||
command: infinity
|
command: infinity
|
||||||
environment:
|
environment:
|
||||||
ANTHROPIC_API_KEY: ${NVIM_ANTHROPIC_API_KEY:-no-api}
|
|
||||||
GH_TOKEN: &github_token ${NVIM_GH_TOKEN:-no-token}
|
GH_TOKEN: &github_token ${NVIM_GH_TOKEN:-no-token}
|
||||||
GITHUB_TOKEN: *github_token
|
GITHUB_TOKEN: *github_token
|
||||||
COMPOSE_BAKE: 'true'
|
COMPOSE_BAKE: 'true'
|
||||||
volumes:
|
volumes:
|
||||||
- './config/atuin:/home/coder/.config/atuin'
|
- './config/atuin:/home/coder/.config/atuin'
|
||||||
- './config/git:/home/coder/.config/git'
|
- './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/mise:/home/coder/.config/mise'
|
||||||
- './config/nvim/lua/custom:/home/coder/.config/nvim/lua/custom'
|
- './config/nvim/lua/custom:/home/coder/.config/nvim/lua/custom'
|
||||||
- './config/starship:/home/coder/.config/starship'
|
- './config/starship:/home/coder/.config/starship'
|
||||||
- './config/tmux:/home/coder/.config/tmux'
|
- './config/tmux:/home/coder/.config/tmux'
|
||||||
- './config/tmuxp:/home/coder/.config/tmuxp'
|
- './config/tmuxp:/home/coder/.config/tmuxp'
|
||||||
|
- './config/vectorcode:/home/coder/.config/vectorcode'
|
||||||
- 'home_cache:/home/coder/.cache'
|
- 'home_cache:/home/coder/.cache'
|
||||||
- 'home_local_share:/home/coder/.local/share'
|
- 'home_local_share:/home/coder/.local/share'
|
||||||
- 'home_local_state:/home/coder/.local/state'
|
- 'home_local_state:/home/coder/.local/state'
|
||||||
- 'home_plugins_tmux:/home/coder/.config/tmux/plugins'
|
- 'home_plugins_tmux:/home/coder/.config/tmux/plugins'
|
||||||
|
- 'home_supermaven:/home/coder/.supermaven'
|
||||||
|
|
||||||
chroma:
|
chroma:
|
||||||
image: 'ghcr.io/chroma-core/chroma:1.0.0'
|
image: 'ghcr.io/chroma-core/chroma:1.0.15'
|
||||||
init: true
|
init: true
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
hostname: chroma
|
hostname: chroma
|
||||||
@@ -42,11 +45,12 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- 'chroma_data:/data'
|
- 'chroma_data:/data'
|
||||||
ports:
|
ports:
|
||||||
- '${IDE_CHROMA_PORT:-8000}'
|
- '${IDE_CHROMA_PORT:-18000:8000}'
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
home_cache: {}
|
home_cache: {}
|
||||||
home_local_share: {}
|
home_local_share: {}
|
||||||
home_local_state: {}
|
home_local_state: {}
|
||||||
home_plugins_tmux: {}
|
home_plugins_tmux: {}
|
||||||
|
home_supermaven: {}
|
||||||
chroma_data: {}
|
chroma_data: {}
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/init.lua b/init.lua
|
diff --git a/init.lua b/init.lua
|
||||||
index cbf9ff6..0205207 100644
|
index b98ffc6..22b2196 100644
|
||||||
--- a/init.lua
|
--- a/init.lua
|
||||||
+++ b/init.lua
|
+++ b/init.lua
|
||||||
@@ -91,7 +91,7 @@ vim.g.mapleader = ' '
|
@@ -91,7 +91,7 @@ vim.g.mapleader = ' '
|
||||||
@@ -10,23 +10,23 @@ index cbf9ff6..0205207 100644
|
|||||||
+vim.g.have_nerd_font = true
|
+vim.g.have_nerd_font = true
|
||||||
|
|
||||||
-- [[ Setting options ]]
|
-- [[ Setting options ]]
|
||||||
-- See `:help vim.opt`
|
-- See `:help vim.o`
|
||||||
@@ -102,10 +102,10 @@ vim.g.have_nerd_font = false
|
@@ -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.
|
-- You can also add relative line numbers, to help with jumping.
|
||||||
-- Experiment for yourself to see if you like it!
|
-- Experiment for yourself to see if you like it!
|
||||||
--- vim.opt.relativenumber = true
|
--- vim.o.relativenumber = true
|
||||||
+vim.opt.relativenumber = true
|
+vim.o.relativenumber = true
|
||||||
|
|
||||||
-- Enable mouse mode, can be useful for resizing splits for example!
|
-- Enable mouse mode, can be useful for resizing splits for example!
|
||||||
-vim.opt.mouse = 'a'
|
-vim.o.mouse = 'a'
|
||||||
+vim.opt.mouse = ''
|
+vim.o.mouse = ''
|
||||||
|
|
||||||
-- Don't show the mode, since it's already in the status line
|
-- Don't show the mode, since it's already in the status line
|
||||||
vim.opt.showmode = false
|
vim.o.showmode = false
|
||||||
@@ -161,6 +161,14 @@ vim.opt.scrolloff = 10
|
@@ -166,6 +166,14 @@ vim.o.scrolloff = 10
|
||||||
-- See `:help 'confirm'`
|
-- See `:help 'confirm'`
|
||||||
vim.opt.confirm = true
|
vim.o.confirm = true
|
||||||
|
|
||||||
+-- Set foldmethod
|
+-- Set foldmethod
|
||||||
+-- See `:help foldmethod`
|
+-- See `:help foldmethod`
|
||||||
@@ -39,7 +39,37 @@ index cbf9ff6..0205207 100644
|
|||||||
-- [[ Basic Keymaps ]]
|
-- [[ Basic Keymaps ]]
|
||||||
-- See `:help vim.keymap.set()`
|
-- See `:help vim.keymap.set()`
|
||||||
|
|
||||||
@@ -682,6 +690,27 @@ require('lazy').setup({
|
@@ -640,9 +648,9 @@ require('lazy').setup({
|
||||||
|
[vim.diagnostic.severity.HINT] = ' ',
|
||||||
|
},
|
||||||
|
} or {},
|
||||||
|
- virtual_text = {
|
||||||
|
- source = 'if_many',
|
||||||
|
- spacing = 2,
|
||||||
|
+ virtual_text = false,
|
||||||
|
+ -- Display multiline diagnostics on virtual lines
|
||||||
|
+ virtual_lines = {
|
||||||
|
format = function(diagnostic)
|
||||||
|
local diagnostic_message = {
|
||||||
|
[vim.diagnostic.severity.ERROR] = diagnostic.message,
|
||||||
|
@@ -652,6 +660,7 @@ require('lazy').setup({
|
||||||
|
}
|
||||||
|
return diagnostic_message[diagnostic.severity]
|
||||||
|
end,
|
||||||
|
+ current_line = true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -659,7 +668,7 @@ require('lazy').setup({
|
||||||
|
-- By default, Neovim doesn't support everything that is in the LSP specification.
|
||||||
|
-- When you add blink.cmp, luasnip, etc. Neovim now has *more* capabilities.
|
||||||
|
-- So, we create new capabilities with blink.cmp, and then broadcast that to the servers.
|
||||||
|
- local capabilities = require('blink.cmp').get_lsp_capabilities()
|
||||||
|
+ -- local capabilities = require('blink.cmp').get_lsp_capabilities()
|
||||||
|
|
||||||
|
-- Enable the following language servers
|
||||||
|
-- Feel free to add/remove any LSPs that you want here. They will automatically be installed.
|
||||||
|
@@ -684,6 +693,39 @@ require('lazy').setup({
|
||||||
-- ts_ls = {},
|
-- ts_ls = {},
|
||||||
--
|
--
|
||||||
|
|
||||||
@@ -52,7 +82,19 @@ index cbf9ff6..0205207 100644
|
|||||||
+ mixEnv = 'test',
|
+ mixEnv = 'test',
|
||||||
+ },
|
+ },
|
||||||
+ },
|
+ },
|
||||||
+ gopls = {},
|
+ gopls = {
|
||||||
|
+ filetypes = { 'go', 'gomod', 'gowork', 'gotmpl' },
|
||||||
|
+ settings = {
|
||||||
|
+ gopls = {
|
||||||
|
+ completeUnimported = true,
|
||||||
|
+ usePlaceholders = true,
|
||||||
|
+ analyses = {
|
||||||
|
+ unusedparams = true,
|
||||||
|
+ },
|
||||||
|
+ },
|
||||||
|
+ },
|
||||||
|
+ },
|
||||||
|
+ harper_ls = {},
|
||||||
+ helm_ls = {},
|
+ helm_ls = {},
|
||||||
+ html = { filetypes = { 'html', 'twig', 'hbs' } },
|
+ html = { filetypes = { 'html', 'twig', 'hbs' } },
|
||||||
+ jsonls = {
|
+ jsonls = {
|
||||||
@@ -67,7 +109,7 @@ index cbf9ff6..0205207 100644
|
|||||||
lua_ls = {
|
lua_ls = {
|
||||||
-- cmd = { ... },
|
-- cmd = { ... },
|
||||||
-- filetypes = { ... },
|
-- filetypes = { ... },
|
||||||
@@ -696,6 +725,32 @@ require('lazy').setup({
|
@@ -698,6 +740,38 @@ require('lazy').setup({
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -87,62 +129,108 @@ index cbf9ff6..0205207 100644
|
|||||||
+ ["https://json.schemastore.org/prettierrc.json"] = ".prettierrc.{yml,yaml}",
|
+ ["https://json.schemastore.org/prettierrc.json"] = ".prettierrc.{yml,yaml}",
|
||||||
+ ["https://json.schemastore.org/circleciconfig.json"] = ".circleci/config.{yml,yaml}",
|
+ ["https://json.schemastore.org/circleciconfig.json"] = ".circleci/config.{yml,yaml}",
|
||||||
+ ["https://json.schemastore.org/dependabot-v2"] = ".github/dependabot.{yml,yaml}",
|
+ ["https://json.schemastore.org/dependabot-v2"] = ".github/dependabot.{yml,yaml}",
|
||||||
+ ["https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.1/schema.json"] = "*api*.{yml,yaml}",
|
+ ["https://spec.openapis.org/oas/3.1/schema/2022-10-07"] = "*api*.{yml,yaml}",
|
||||||
+ ["https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/ansible.json#/$defs/playbook"] = "*play*.{yml,yaml}",
|
+ ["https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/ansible.json#/$defs/playbook"] = "*play*.{yml,yaml}",
|
||||||
+ ["https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/ansible.json#/$defs/tasks"] = "roles/tasks/*.{yml,yaml}",
|
+ ["https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/ansible.json#/$defs/tasks"] = "roles/tasks/*.{yml,yaml}",
|
||||||
+ ["https://raw.githubusercontent.com/argoproj/argo-workflows/master/api/jsonschema/schema.json"] = "*flow*.{yml,yaml}",
|
+ ["https://raw.githubusercontent.com/argoproj/argo-workflows/master/api/jsonschema/schema.json"] = "*flow*.{yml,yaml}",
|
||||||
+ ["https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json"] = "*docker-compose*.{yml,yaml}",
|
+ ["https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json"] = "*docker-compose*.{yml,yaml}",
|
||||||
+ -- kubernetes = "*.{yml,yaml}",
|
+ -- kubernetes = "*.{yml,yaml}",
|
||||||
+ }
|
+ },
|
||||||
+ }
|
+ },
|
||||||
+ }
|
+ },
|
||||||
+ }
|
+ },
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ ---@type MasonLspconfigSettings
|
||||||
|
+ ---@diagnostic disable-next-line: missing-fields
|
||||||
|
+ require('mason-lspconfig').setup {
|
||||||
|
+ automatic_enable = vim.tbl_keys(servers or {}),
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Ensure the servers and tools above are installed
|
-- Ensure the servers and tools above are installed
|
||||||
@@ -727,6 +782,33 @@ require('lazy').setup({
|
@@ -719,20 +793,36 @@ require('lazy').setup({
|
||||||
-- by the server configuration above. Useful when disabling
|
})
|
||||||
-- certain features of an LSP (for example, turning off formatting for ts_ls)
|
require('mason-tool-installer').setup { ensure_installed = ensure_installed }
|
||||||
server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {})
|
|
||||||
+ -- overwrite elixirls for older versions of elixir
|
- require('mason-lspconfig').setup {
|
||||||
+ -- * elixir 1.11 use version 0.12.0
|
- ensure_installed = {}, -- explicitly set to an empty table (Kickstart populates installs via mason-tool-installer)
|
||||||
+ -- * elixir 1.12 use verions 0.14.6
|
- automatic_installation = false,
|
||||||
+ if server_name == 'elixirls' then
|
- handlers = {
|
||||||
+ local version = vim.fn.system('mise current elixir') or ''
|
- function(server_name)
|
||||||
+ local elixir_servers = {
|
- local server = servers[server_name] or {}
|
||||||
+ { version = '^1.11', path = '/elixir-ls/release/v0.12.0/language_server.sh' },
|
- -- This handles overriding only values explicitly passed
|
||||||
+ { version = '^1.12', path = '/elixir-ls/release/v0.14.6/language_server.sh' },
|
- -- by the server configuration above. Useful when disabling
|
||||||
+ }
|
- -- certain features of an LSP (for example, turning off formatting for ts_ls)
|
||||||
+ for _, ex_server in ipairs(elixir_servers) do
|
- server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {})
|
||||||
+ if string.match(version, ex_server.version) == nil then goto continue end
|
- require('lspconfig')[server_name].setup(server)
|
||||||
+ server = vim.tbl_extend('keep', server, { cmd = { vim.fn.expand('$LOCAL_SRC_HOME') .. ex_server.path } })
|
- end,
|
||||||
+ ::continue::
|
- },
|
||||||
+ end
|
- }
|
||||||
+ elseif server_name == 'pyright' then
|
+ local extend_server_config = function (server_name)
|
||||||
+ local python_paths = {
|
+ local config = {}
|
||||||
+ { name = 'poetry', cmd = { 'poetry', 'env', 'info', '--executable' }},
|
+
|
||||||
+ { name = 'system', cmd = { 'which', 'python' }},
|
+ if server_name == 'pyright' then
|
||||||
+ }
|
+ -- overwrite python path for pyright according to the virtualenv manager, be it poetry or system.
|
||||||
+ for _, py_server in ipairs(python_paths) do
|
+ local python_paths = {
|
||||||
+ local cmd = vim.system(py_server.cmd, { text = true }):wait()
|
+ { name = 'system', cmd = { 'which', 'python' }},
|
||||||
+ if (cmd.code > 0) then goto continue end
|
+ { name = 'poetry', cmd = { 'poetry', 'env', 'info', '--executable' }},
|
||||||
+ local python_path = string.gsub(cmd.stdout, '\n', '')
|
+ }
|
||||||
+ server = vim.tbl_extend('keep', server, { settings = { python = { pythonPath = python_path } } })
|
+ for _, py_server in ipairs(python_paths) do
|
||||||
+ ::continue::
|
+ local cmd = vim.system(py_server.cmd, { text = true }):wait()
|
||||||
+ end
|
+ if (cmd.code > 0) then goto continue end
|
||||||
+ end
|
+ local python_path = string.gsub(cmd.stdout, '\n', '')
|
||||||
require('lspconfig')[server_name].setup(server)
|
+ config = { settings = { python = { pythonPath = python_path } } }
|
||||||
end,
|
+ ::continue::
|
||||||
|
+ end
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ return config
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ -- Installed LSPs are configured and enabled automatically with mason-lspconfig
|
||||||
|
+ -- The loop below is for overriding the default configuration of LSPs with the ones in the servers table
|
||||||
|
+ for server_name, config in pairs(servers) do
|
||||||
|
+ config = vim.tbl_extend('keep', config, extend_server_config(server_name))
|
||||||
|
+ vim.lsp.config(server_name, config)
|
||||||
|
+ end
|
||||||
|
+
|
||||||
|
+ -- NOTE: Some servers may require an old setup until they are updated. For the full list refer here: https://github.com/neovim/nvim-lspconfig/issues/3705
|
||||||
|
+ -- These servers will have to be manually set up with require("lspconfig").server_name.setup{}
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
@@ -809,6 +899,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
|
||||||
|
@@ -854,9 +947,19 @@ require('lazy').setup({
|
||||||
|
},
|
||||||
|
|
||||||
|
sources = {
|
||||||
|
- default = { 'lsp', 'path', 'snippets', 'lazydev' },
|
||||||
|
+ 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',
|
||||||
|
+ score_offset = 100,
|
||||||
|
+ async = true,
|
||||||
|
+ },
|
||||||
},
|
},
|
||||||
@@ -884,6 +966,7 @@ require('lazy').setup({
|
},
|
||||||
-- set group index to 0 to skip loading LuaLS completions as lazydev recommends it
|
|
||||||
group_index = 0,
|
@@ -882,19 +985,39 @@ require('lazy').setup({
|
||||||
},
|
|
||||||
+ { name = 'supermavem' },
|
|
||||||
{ name = 'nvim_lsp' },
|
|
||||||
{ name = 'luasnip' },
|
|
||||||
{ name = 'path' },
|
|
||||||
@@ -899,19 +982,37 @@ require('lazy').setup({
|
|
||||||
--
|
--
|
||||||
-- If you want to see what colorschemes are already installed, you can use `:Telescope colorscheme`.
|
-- If you want to see what colorschemes are already installed, you can use `:Telescope colorscheme`.
|
||||||
'folke/tokyonight.nvim',
|
'folke/tokyonight.nvim',
|
||||||
@@ -151,6 +239,7 @@ index cbf9ff6..0205207 100644
|
|||||||
+ 'wnkz/monoglow.nvim',
|
+ 'wnkz/monoglow.nvim',
|
||||||
+ 'rjshkhr/shadow.nvim',
|
+ 'rjshkhr/shadow.nvim',
|
||||||
+ 'sainnhe/gruvbox-material',
|
+ 'sainnhe/gruvbox-material',
|
||||||
|
+ 'slugbyte/lackluster.nvim',
|
||||||
+ },
|
+ },
|
||||||
priority = 1000, -- Make sure to load this before all the other start plugins.
|
priority = 1000, -- Make sure to load this before all the other start plugins.
|
||||||
config = function()
|
config = function()
|
||||||
@@ -183,10 +272,11 @@ index cbf9ff6..0205207 100644
|
|||||||
+ vim.g.gruvbox_material_cursor = 'red'
|
+ vim.g.gruvbox_material_cursor = 'red'
|
||||||
+ vim.g.gruvbox_material_disable_terminal_colors = 1
|
+ vim.g.gruvbox_material_disable_terminal_colors = 1
|
||||||
+ vim.cmd.colorscheme 'gruvbox-material'
|
+ vim.cmd.colorscheme 'gruvbox-material'
|
||||||
|
+ -- vim.cmd.colorscheme 'lackluster'
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -961,7 +1062,39 @@ require('lazy').setup({
|
@@ -944,7 +1067,39 @@ require('lazy').setup({
|
||||||
main = 'nvim-treesitter.configs', -- Sets main module to use for opts
|
main = 'nvim-treesitter.configs', -- Sets main module to use for opts
|
||||||
-- [[ Configure Treesitter ]] See `:help nvim-treesitter`
|
-- [[ Configure Treesitter ]] See `:help nvim-treesitter`
|
||||||
opts = {
|
opts = {
|
||||||
@@ -227,7 +317,7 @@ index cbf9ff6..0205207 100644
|
|||||||
-- Autoinstall languages that are not installed
|
-- Autoinstall languages that are not installed
|
||||||
auto_install = true,
|
auto_install = true,
|
||||||
highlight = {
|
highlight = {
|
||||||
@@ -991,17 +1124,17 @@ require('lazy').setup({
|
@@ -974,17 +1129,17 @@ require('lazy').setup({
|
||||||
-- Uncomment any of the lines below to enable them (you will need to restart nvim).
|
-- Uncomment any of the lines below to enable them (you will need to restart nvim).
|
||||||
--
|
--
|
||||||
-- require 'kickstart.plugins.debug',
|
-- require 'kickstart.plugins.debug',
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
"extends": [
|
"extends": [
|
||||||
"config:base"
|
"config:recommended",
|
||||||
]
|
"schedule:earlyMondays"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
@@ -23,7 +23,7 @@ resetOutput()
|
|||||||
# $red $green and $blue are integers
|
# $red $green and $blue are integers
|
||||||
# ranging between 0 and 255 inclusive
|
# ranging between 0 and 255 inclusive
|
||||||
rainbowColor()
|
rainbowColor()
|
||||||
{
|
{
|
||||||
let h=$1/43
|
let h=$1/43
|
||||||
let f=$1-43*$h
|
let f=$1-43*$h
|
||||||
let t=$f*255/43
|
let t=$f*255/43
|
||||||
|
@@ -1,18 +1,11 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# NOTE: (jpd) setup elixir-ls for older versions of elixir
|
|
||||||
if [ ! -d ${LOCAL_SRC_HOME}/elixir-ls/release ]; then
|
|
||||||
echo "setup elixir ls version 0.12.0"
|
|
||||||
/usr/local/bin/elixir-ls-setup v0.12.0
|
|
||||||
echo "setup elixir ls version 0.14.6"
|
|
||||||
/usr/local/bin/elixir-ls-setup v0.14.6
|
|
||||||
fi
|
|
||||||
|
|
||||||
# NOTE: (jpd) create auto-completion
|
# NOTE: (jpd) create auto-completion
|
||||||
commands=(
|
commands=(
|
||||||
"ctlptl"
|
"ctlptl"
|
||||||
"eksctl"
|
"eksctl"
|
||||||
|
"exercism"
|
||||||
"helm"
|
"helm"
|
||||||
"k3d"
|
"k3d"
|
||||||
"k9s"
|
"k9s"
|
||||||
@@ -20,6 +13,7 @@ commands=(
|
|||||||
"kubectl"
|
"kubectl"
|
||||||
"lefthook"
|
"lefthook"
|
||||||
"mise"
|
"mise"
|
||||||
|
"supabase"
|
||||||
)
|
)
|
||||||
echo "create completion for ${commands[@]}"
|
echo "create completion for ${commands[@]}"
|
||||||
for cmd in ${commands[@]}; do
|
for cmd in ${commands[@]}; do
|
||||||
|
@@ -1,38 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
function setup() {
|
|
||||||
local elixir_ls_home=${LOCAL_SRC_HOME}/elixir-ls
|
|
||||||
local elixir_ls_release=${elixir_ls_home}/release
|
|
||||||
echo "elixir-ls repo"
|
|
||||||
cd ${elixir_ls_home}
|
|
||||||
echo "checkout versions ${1}"
|
|
||||||
git checkout tags/${1}
|
|
||||||
echo "set erlang/elixir versions"
|
|
||||||
cp .release-tool-versions .tool-versions
|
|
||||||
if [[ ! -z "$2" ]]; then
|
|
||||||
echo "override erlang to ${2}"
|
|
||||||
sed -i "s/erlang .*/erlang ${2}/g" .tool-versions
|
|
||||||
fi
|
|
||||||
if [[ ! -z "$3" ]]; then
|
|
||||||
echo "override elixir to ${3}"
|
|
||||||
sed -i "s/elixir .*/elixir ${3}/g" .tool-versions
|
|
||||||
fi
|
|
||||||
local current_erlang=$(mise current erlang)
|
|
||||||
local current_elixir=$(mise current elixir)
|
|
||||||
echo "using erlang ${current_erlang} / elixir ${current_elixir}"
|
|
||||||
echo "install erlang/elixir runtimes"
|
|
||||||
KERL_CONFIGURE_OPTIONS="-with-ssl=${HOME}/.local/lib/ssl" mise install
|
|
||||||
echo "install elixir-ls deps"
|
|
||||||
mise exec erlang@${current_erlang} elixir@${current_elixir} --command "mix do local.rebar --force, local.hex --force, deps.get, deps.compile"
|
|
||||||
echo "compile and release elixir-ls"
|
|
||||||
mise exec erlang@${current_erlang} elixir@${current_elixir} --command "MIX_ENV=prod mix compile"
|
|
||||||
mise exec erlang@${current_erlang} elixir@${current_elixir} --command "MIX_ENV=prod mix elixir_ls.release -o ${elixir_ls_release}/${1}"
|
|
||||||
echo "remove local .tool-versions"
|
|
||||||
cp .tool-versions ${elixir_ls_release}/${1}
|
|
||||||
rm .tool-versions
|
|
||||||
mise exec erlang@${current_erlang} elixir@${current_elixir} --command "mix do deps.clean --all, clean"
|
|
||||||
git checkout master
|
|
||||||
}
|
|
||||||
|
|
||||||
setup $1 $2 $3
|
|
Reference in New Issue
Block a user