75 lines
1.7 KiB
Nix
75 lines
1.7 KiB
Nix
{ lib, stable, ... }:
|
|
{
|
|
programs.nixvim = {
|
|
enable = true;
|
|
dependencies.ripgrep.enable = true;
|
|
dependencies.fd.enable = true;
|
|
colorschemes.catppuccin.enable = true;
|
|
defaultEditor = true;
|
|
viAlias = true;
|
|
vimAlias = true;
|
|
opts = {
|
|
number = true;
|
|
relativenumber = true;
|
|
shiftwidth = 4;
|
|
mouse = "";
|
|
};
|
|
globals.mapleader = " ";
|
|
plugins.lsp = {
|
|
enable = true;
|
|
servers = {
|
|
rust_analyzer = {
|
|
enable = true;
|
|
installCargo = true;
|
|
installRustc = true;
|
|
};
|
|
lua_ls.enable = true;
|
|
nil_ls.enable = true;
|
|
jdtls.enable = true;
|
|
tinymist = {
|
|
enable = true;
|
|
settings = {
|
|
formatterMode = "typstyle";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
# There has been some drama, the repo was archived and stuff.
|
|
# plugins.tresitter.enable = true;
|
|
plugins.telescope.enable = true;
|
|
plugins.fidget.enable = true;
|
|
plugins.cmp = {
|
|
enable = false;
|
|
settings.sources = [
|
|
{ name = "nvim_lsp"; }
|
|
{ name = "path"; }
|
|
{ name = "buffer"; }
|
|
];
|
|
}
|
|
// lib.optionalAttrs (!stable) {
|
|
autEnableSources = true;
|
|
};
|
|
plugins.web-devicons.enable = true;
|
|
keymaps = [
|
|
{
|
|
action = "<cmd>lua vim.lsp.buf.format()<CR>";
|
|
key = "<leader>fm";
|
|
}
|
|
{
|
|
action = "<cmd>Telescope live_grep<CR>";
|
|
key = "<leader>fg";
|
|
}
|
|
{
|
|
action = "<cmd>Telescope find_files<CR>";
|
|
key = "<leader>ff";
|
|
}
|
|
];
|
|
}
|
|
// lib.optionalAttrs (!stable) {
|
|
lsp-format = {
|
|
enable = true;
|
|
lspServersToEnable = "all";
|
|
};
|
|
};
|
|
}
|