feat(nixvim): add opencode plugin

- Added opencode plugin
- Added keymaps for opencode actions (<leader>oa, <leader>ox, <leader>og)
- Included lsof package for opencode.nvim to function
This commit is contained in:
toast 2025-11-01 02:01:51 +09:00
parent 868cc11458
commit 934f2ed339
3 changed files with 41 additions and 15 deletions

View file

@ -17,19 +17,11 @@
imports = [ imports = [
./keymaps.nix ./keymaps.nix
./plugins/bufferline.nix ] ++ (
./plugins/lualine.nix let
./plugins/cmp.nix pluginsPath = ./plugins;
./plugins/comment.nix pluginFiles = builtins.attrNames (builtins.readDir pluginsPath);
./plugins/colorizer.nix in
./plugins/nvim-autopairs.nix map (module: pluginsPath + ("/" + module)) pluginFiles
./plugins/gitsigns.nix );
./plugins/telescope.nix
./plugins/treesitter.nix
./plugins/nvim-tree.nix
./plugins/web-devicons.nix
./plugins/wakatime.nix
./plugins/which-key.nix
./plugins/lsp.nix
];
} }

View file

@ -88,6 +88,24 @@
action = "<cmd>lua vim.lsp.buf.code_action()<CR>"; action = "<cmd>lua vim.lsp.buf.code_action()<CR>";
options.desc = "LSP Code Action"; options.desc = "LSP Code Action";
} }
{
mode = ["n" "x"];
key = "<leader>oa";
action.__raw = ''function() require("opencode").ask("@selection: ", { submit = true }) end'';
options.desc = "Ask opencode";
}
{
mode = ["n" "x"];
key = "<leader>ox";
action.__raw = ''function() require("opencode").select() end'';
options.desc = "Execute opencode action...";
}
{
mode = ["n" "x"];
key = "<leader>og";
action.__raw = ''function() require("opencode").prompt("@selection") end'';
options.desc = "Add to opencode";
}
]; ];
}; };
} }

View file

@ -0,0 +1,16 @@
{ pkgs, ...}:
{
home.packages = with pkgs; [
lsof
];
programs.nixvim = {
plugins.opencode = {
enable = true;
settings = {
auto_reload = true;
};
};
opts.autoread = true;
};
}