feat!(nvim): replace lspsaga with builtins

This commit is contained in:
Moritz Böhme 2025-07-31 16:19:36 +02:00
parent 07da42ee51
commit 5596e63efd
No known key found for this signature in database
GPG key ID: 970C6E89EB0547A9
2 changed files with 39 additions and 62 deletions

View file

@ -32,33 +32,50 @@
plugins.lsp = {
enable = true;
inlayHints = true;
servers.rust_analyzer = {
enable = true;
installRustc = false;
installCargo = false;
settings.files.watcher = "server";
};
servers.lexical.enable = true;
servers.lua_ls.enable = true;
servers.nil_ls.enable = true;
servers.nixd.enable = true;
servers.nixd.extraOptions.settings.nixd = {
nixpkgs = {
expr = "import <nixpkgs> { }";
servers = {
rust_analyzer = {
enable = true;
installRustc = false;
installCargo = false;
settings.files.watcher = "server";
};
options = {
nixos = {
expr = ''builtins.head (builtins.attrValues ((builtins.getFlake ("git+file://" + toString ./.)).nixosConfigurations).options'';
lexical.enable = true;
lua_ls.enable = true;
nil_ls.enable = true;
nixd.enable = true;
nixd.extraOptions.settings.nixd = {
nixpkgs = {
expr = "import <nixpkgs> { }";
};
"flake-parts" = {
expr = ''(builtins.getFlake ("git+file://" + toString ./.)).debug.options'';
};
"flake-parts2" = {
expr = ''(builtins.getFlake ("git+file://" + toString ./.)).currentSystem.options'';
options = {
nixos = {
expr = ''builtins.head (builtins.attrValues ((builtins.getFlake ("git+file://" + toString ./.)).nixosConfigurations).options'';
};
"flake-parts" = {
expr = ''(builtins.getFlake ("git+file://" + toString ./.)).debug.options'';
};
"flake-parts2" = {
expr = ''(builtins.getFlake ("git+file://" + toString ./.)).currentSystem.options'';
};
};
};
tinymist.enable = true;
};
keymaps = {
diagnostic = {
"]j" = "goto_next";
"[k" = "goto_prev";
};
lspBuf = {
K = "hover";
gD = "references";
gd = "definition";
gi = "implementation";
gt = "type_definition";
"<leader>r" = "rename";
"<leader>q" = "code_action";
};
};
servers.tinymist.enable = true;
};
};
}

View file

@ -1,40 +0,0 @@
{...}: {
home-manager.users.moritz.programs.nixvim = {
plugins = {
lspsaga = {
enable = true;
codeAction.keys.quit = "<esc>";
lightbulb.virtualText = false;
};
web-devicons.enable = true;
};
keymapsOnEvents = {
LspAttach = [
{
key = "<leader>q";
action = "<cmd>Lspsaga code_action<cr>";
options.desc = "Quickfix";
options.buffer = true;
}
{
key = "gd";
action = "<cmd>Lspsaga goto_definition<cr>";
options.desc = "Goto Definition";
options.buffer = true;
}
{
key = "<leader>r";
action = "<cmd>Lspsaga rename<cr>";
options.desc = "Rename";
options.buffer = true;
}
{
key = "K";
action = "<cmd>Lspsaga hover_doc<cr>";
options.desc = "Hover";
options.buffer = true;
}
];
};
};
}