feat: add agentic plugin to nvim
This commit is contained in:
parent
e40e98533c
commit
76cf8e414f
4 changed files with 68 additions and 36 deletions
|
|
@ -1,4 +1,3 @@
|
||||||
[](https://builds.sr.ht/~sposito?search)
|
|
||||||
# My personal machines config files
|
# My personal machines config files
|
||||||
|
|
||||||
This repository contains declarative configurations for personal machines managed with NixOS flakes and Home Manager.
|
This repository contains declarative configurations for personal machines managed with NixOS flakes and Home Manager.
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./gnome
|
./gnome
|
||||||
./vim.nix
|
./nvim
|
||||||
./zsh.nix
|
./zsh.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -20,6 +20,7 @@
|
||||||
"steam-original"
|
"steam-original"
|
||||||
"steam-run"
|
"steam-run"
|
||||||
"steamtinkerlaunch"
|
"steamtinkerlaunch"
|
||||||
|
"ollama-cuda"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -43,6 +44,7 @@
|
||||||
nixfmt-rfc-style
|
nixfmt-rfc-style
|
||||||
nordic
|
nordic
|
||||||
obsidian
|
obsidian
|
||||||
|
ollama-cuda
|
||||||
pinentry-curses
|
pinentry-curses
|
||||||
python3
|
python3
|
||||||
ripgrep
|
ripgrep
|
||||||
|
|
@ -52,6 +54,7 @@
|
||||||
unzip
|
unzip
|
||||||
waydroid
|
waydroid
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
|
zed-editor
|
||||||
];
|
];
|
||||||
username = "thiago";
|
username = "thiago";
|
||||||
};
|
};
|
||||||
|
|
@ -80,12 +83,17 @@
|
||||||
lfs.enable = true;
|
lfs.enable = true;
|
||||||
signing = {
|
signing = {
|
||||||
key = "EC7C84664FF515B63AD510B63065EA73A976D430";
|
key = "EC7C84664FF515B63AD510B63065EA73A976D430";
|
||||||
signByDefault = true;
|
signByDefault = false;
|
||||||
};
|
};
|
||||||
userEmail = "th.spo@pm.me";
|
userEmail = "th.spo@pm.me";
|
||||||
userName = "Thiago Sposito";
|
userName = "Thiago Sposito";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
gpg = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.gnupg;
|
||||||
|
};
|
||||||
|
|
||||||
home-manager.enable = true;
|
home-manager.enable = true;
|
||||||
|
|
||||||
kitty = {
|
kitty = {
|
||||||
|
|
@ -116,6 +124,12 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.gpg-agent = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
pinentry.package = pkgs.pinentry-curses;
|
||||||
|
};
|
||||||
|
|
||||||
systemd.user.startServices = "sd-switch";
|
systemd.user.startServices = "sd-switch";
|
||||||
home.stateVersion = "25.11";
|
home.stateVersion = "25.11";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,10 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
plugins = {
|
plugins = {
|
||||||
|
avante = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
dressing.enable = true;
|
||||||
lsp.enable = true;
|
lsp.enable = true;
|
||||||
lsp.servers = {
|
lsp.servers = {
|
||||||
lua_ls.enable = true;
|
lua_ls.enable = true;
|
||||||
|
|
@ -61,38 +65,6 @@
|
||||||
conform-nvim.enable = true;
|
conform-nvim.enable = true;
|
||||||
|
|
||||||
};
|
};
|
||||||
extraConfigLua = ''
|
extraConfigLua = builtins.readFile ./extraconfig.lua;
|
||||||
local cmp = require'cmp'
|
|
||||||
|
|
||||||
cmp.setup({
|
|
||||||
mapping = {
|
|
||||||
['<C-Space>'] = cmp.mapping.complete(), -- trigger manually
|
|
||||||
['<CR>'] = cmp.mapping.confirm({ select = true }), -- confirm with Enter
|
|
||||||
['<Tab>'] = cmp.mapping.select_next_item(),
|
|
||||||
['<S-Tab>'] = cmp.mapping.select_prev_item(),
|
|
||||||
},
|
|
||||||
sources = {
|
|
||||||
{ name = 'nvim_lsp' },
|
|
||||||
{ name = 'buffer' },
|
|
||||||
{ name = 'path' },
|
|
||||||
},
|
|
||||||
vim.api.nvim_create_autocmd("LspAttach", {
|
|
||||||
callback = function(args)
|
|
||||||
local buf = args.buf
|
|
||||||
local opts = { buffer = buf }
|
|
||||||
|
|
||||||
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
|
|
||||||
vim.keymap.set("n", "gr", vim.lsp.buf.references, opts)
|
|
||||||
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
|
|
||||||
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts)
|
|
||||||
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, opts)
|
|
||||||
vim.keymap.set("n", "<leader>f", function() vim.lsp.buf.format({ async = true }) end, opts)
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<A-j>", ":m .+1<CR>==")
|
|
||||||
vim.keymap.set("n", "<A-k>", ":m .-2<CR>==")
|
|
||||||
end
|
|
||||||
})
|
|
||||||
})
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
47
home-manager/nvim/extraconfig.lua
Normal file
47
home-manager/nvim/extraconfig.lua
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
local cmp = require'cmp'
|
||||||
|
local avante = require("avante")
|
||||||
|
|
||||||
|
cmp.setup({
|
||||||
|
mapping = {
|
||||||
|
['<C-Space>'] = cmp.mapping.complete(), -- trigger manually
|
||||||
|
['<CR>'] = cmp.mapping.confirm({ select = true }), -- confirm with Enter
|
||||||
|
['<Tab>'] = cmp.mapping.select_next_item(),
|
||||||
|
['<S-Tab>'] = cmp.mapping.select_prev_item(),
|
||||||
|
},
|
||||||
|
sources = {
|
||||||
|
{ name = 'nvim_lsp' },
|
||||||
|
{ name = 'buffer' },
|
||||||
|
{ name = 'path' },
|
||||||
|
},
|
||||||
|
vim.api.nvim_create_autocmd("LspAttach", {
|
||||||
|
callback = function(args)
|
||||||
|
local buf = args.buf
|
||||||
|
local opts = { buffer = buf }
|
||||||
|
|
||||||
|
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
|
||||||
|
vim.keymap.set("n", "gr", vim.lsp.buf.references, opts)
|
||||||
|
vim.keymap.set("n", "K", vim.lsp.buf.hover, opts)
|
||||||
|
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts)
|
||||||
|
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, opts)
|
||||||
|
vim.keymap.set("n", "<leader>f", function() vim.lsp.buf.format({ async = true }) end, opts)
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<A-j>", ":m .+1<CR>==")
|
||||||
|
vim.keymap.set("n", "<A-k>", ":m .-2<CR>==")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
avante.setup({
|
||||||
|
provider = "ollama",
|
||||||
|
providers = {
|
||||||
|
ollama = {
|
||||||
|
endpoint = "http://127.0.0.1:11434",
|
||||||
|
model = "gpt-oss:20b",
|
||||||
|
extra_request_body = {
|
||||||
|
temperature = 0,
|
||||||
|
num_ctx = 8192,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
Loading…
Add table
Add a link
Reference in a new issue