mirror of
https://github.com/softinio/nix-config.git
synced 2025-10-18 11:06:41 -07:00
update to nixvim scala metals and copilot configs
This commit is contained in:
parent
c543995d4d
commit
0860e967f3
6 changed files with 81 additions and 5 deletions
10
.claude/settings.local.json
Normal file
10
.claude/settings.local.json
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"permissions": {
|
||||||
|
"allow": [
|
||||||
|
"WebFetch(domain:github.com)",
|
||||||
|
"WebFetch(domain:raw.githubusercontent.com)"
|
||||||
|
],
|
||||||
|
"deny": [],
|
||||||
|
"ask": []
|
||||||
|
}
|
||||||
|
}
|
|
@ -230,6 +230,15 @@ Adjust these in `options.nix` and `completion.nix` respectively.
|
||||||
| `<leader>j` | Normal | Next diagnostic |
|
| `<leader>j` | Normal | Next diagnostic |
|
||||||
| `<leader>k` | Normal | Previous diagnostic |
|
| `<leader>k` | Normal | Previous diagnostic |
|
||||||
|
|
||||||
|
### Metals (Scala Development)
|
||||||
|
|
||||||
|
| Key | Mode | Action |
|
||||||
|
|-----|------|--------|
|
||||||
|
| `<leader>ws` | Normal | Hover Metals Worksheet |
|
||||||
|
| `<leader>sm` | Normal | Telescope Metals Commands |
|
||||||
|
| `<leader>tt` | Normal | Toggle tree view |
|
||||||
|
| `<leader>tr` | Normal | Reveal in tree |
|
||||||
|
|
||||||
### Terminal (Floaterm)
|
### Terminal (Floaterm)
|
||||||
|
|
||||||
| Key | Mode | Action |
|
| Key | Mode | Action |
|
||||||
|
|
|
@ -30,5 +30,12 @@
|
||||||
pattern = ["swift" "json" "lua" "nix"];
|
pattern = ["swift" "json" "lua" "nix"];
|
||||||
command = "setlocal shiftwidth=2 tabstop=2 softtabstop=2 expandtab";
|
command = "setlocal shiftwidth=2 tabstop=2 softtabstop=2 expandtab";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Metals (Scala) - Refresh codelens
|
||||||
|
{
|
||||||
|
event = ["BufEnter" "CursorHold" "InsertLeave"];
|
||||||
|
pattern = ["*.scala" "*.sbt" "*.java"];
|
||||||
|
command = "lua vim.lsp.codelens.refresh()";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,6 +30,11 @@
|
||||||
"<C-Right>" = ":vertical resize -2<CR>";
|
"<C-Right>" = ":vertical resize -2<CR>";
|
||||||
"<M-k>" = ":move-2<CR>";
|
"<M-k>" = ":move-2<CR>";
|
||||||
"<M-j>" = ":move+<CR>";
|
"<M-j>" = ":move+<CR>";
|
||||||
|
# Metals (Scala) keybindings
|
||||||
|
"<leader>ws" = "<cmd>lua require('metals').hover_worksheet()<CR>";
|
||||||
|
"<leader>sm" = "<cmd>lua require('telescope').extensions.metals.commands()<CR>";
|
||||||
|
"<leader>tt" = "<cmd>lua require('metals.tvp').toggle_tree_view()<CR>";
|
||||||
|
"<leader>tr" = "<cmd>lua require('metals.tvp').reveal_in_tree()<CR>";
|
||||||
};
|
};
|
||||||
visual =
|
visual =
|
||||||
lib.mapAttrsToList
|
lib.mapAttrsToList
|
||||||
|
|
|
@ -4,14 +4,33 @@
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
plugins = {
|
plugins = {
|
||||||
# GitHub Copilot
|
# GitHub Copilot
|
||||||
copilot-vim.enable = true;
|
copilot-vim = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
# Avante AI assistant (imported from separate file)
|
# Avante AI assistant (imported from separate file)
|
||||||
# avante config is in avante.nix
|
# avante config is in avante.nix
|
||||||
};
|
};
|
||||||
|
|
||||||
globals = {
|
globals = {
|
||||||
copilot_node_command = lib.mkForce "${pkgs.nodejs-slim}/bin/node";
|
copilot_node_command = lib.mkForce "${pkgs.nodejs}/bin/node";
|
||||||
|
copilot_no_tab_map = true;
|
||||||
|
copilot_assume_mapped = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Copilot keymapping - use Ctrl+J to accept suggestion
|
||||||
|
keymaps = [
|
||||||
|
{
|
||||||
|
mode = "i";
|
||||||
|
key = "<C-J>";
|
||||||
|
action = "copilot#Accept(\"\\<CR>\")";
|
||||||
|
options = {
|
||||||
|
silent = true;
|
||||||
|
script = true;
|
||||||
|
expr = true;
|
||||||
|
replace_keycodes = false;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,7 +52,33 @@
|
||||||
marksman.enable = true;
|
marksman.enable = true;
|
||||||
|
|
||||||
# Scala
|
# Scala
|
||||||
metals.enable = true;
|
metals = {
|
||||||
|
enable = true;
|
||||||
|
settings.settings = {
|
||||||
|
bloopSbtAlreadyInstalled = true;
|
||||||
|
defaultBspToBuildTool = true;
|
||||||
|
enableBestEffort = true;
|
||||||
|
excludedPackages = [
|
||||||
|
"akka.actor.typed.javadsl"
|
||||||
|
"com.github.swagger.akka.javadsl"
|
||||||
|
];
|
||||||
|
initOptions = {
|
||||||
|
statusBarProvider = "on";
|
||||||
|
};
|
||||||
|
inlayHints = {
|
||||||
|
typeParameters.enable = true;
|
||||||
|
hintsInPatternMatch.enable = true;
|
||||||
|
};
|
||||||
|
mcpClient = "claude";
|
||||||
|
serverVersion = "latest.snapshot";
|
||||||
|
showImplicitArguments = true;
|
||||||
|
showImplicitConversionsAndClasses = true;
|
||||||
|
showInferredType = true;
|
||||||
|
startMcpServer = true;
|
||||||
|
superMethodLensesEnabled = true;
|
||||||
|
useGlobalExecutable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# Nix
|
# Nix
|
||||||
nil_ls.enable = true;
|
nil_ls.enable = true;
|
||||||
|
@ -76,4 +102,4 @@
|
||||||
tinymist.enable = true;
|
tinymist.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue