opencode.nix 773 B

12345678910111213141516171819
  1. { pkgs, ... }:
  2. {
  3. home.packages = with pkgs; [ unstable.opencode ];
  4. programs.nixvim = {
  5. plugins.snacks.enable = true;
  6. plugins.snacks.settings.terminal.enabled = true;
  7. extraPlugins = with pkgs; [ unstable.vimPlugins.opencode-nvim ];
  8. keymaps = [
  9. { key = "<leader>ot"; action = "<cmd>lua require('opencode').toggle()<CR>"; }
  10. { key = "<leader>oa"; action = "<cmd>lua require('opencode').ask()<CR>"; mode = "n"; }
  11. { key = "<leader>oa"; action = "<cmd>lua require('opencode').ask('@selection: ')<CR>"; mode = "v"; }
  12. { key = "<leader>oe"; action = "<cmd>lua require('opencode').select_prompt()<CR>"; mode = [ "n" "v" ]; }
  13. { key = "<leader>on"; action = "<cmd>lua require('opencode').command('session_new')<CR>"; }
  14. ];
  15. };
  16. }