{
config,
...
}:
{
home.sessionVariables = {
MANPAGER = "nvim +Man!";
};
programs.nixvim = {
enable = true;
defaultEditor = true;
nixpkgs.config = config.nixpkgs.config;
viAlias = true;
vimAlias = true;
vimdiffAlias = true;
enableMan = false;
clipboard.register = "unnamed";
opts = {
autoindent = true;
number = true;
relativenumber = true;
shiftwidth = 2;
};
globals.mapleader = ",";
performance = {
byteCompileLua = {
enable = true;
nvimRuntime = true;
plugins = true;
};
};
plugins = {
cmp = {
enable = true;
};
blink-cmp = {
enable = true;
settings = {
keymap.preset = "super-tab";
};
};
mini = {
enable = true;
mockDevIcons = true;
modules.icons = {
style = "glyph";
};
modules.basics = { };
};
lsp = {
enable = true;
keymaps = {
lspBuf = {
gD = "references";
gd = "definition";
gi = "implementation";
gt = "type_definition";
};
};
};
direnv.enable = true;
friendly-snippets.enable = true;
nvim-snippets = {
enable = true;
settings.friendly_snippets = true;
luaConfig.post = ''
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true
require'lspconfig'.cssls.setup {
capabilities = capabilities,
}
'';
};
nvim-surround.enable = true;
telescope = {
enable = true;
keymaps = {
"ff" = "find_files";
"fg" = "live_grep";
"bb" = "buffers";
"pf" = "git_files";
"fh" = "help_tags";
};
settings = {
mappings = {
i = {
"" = "which_key";
};
};
};
extensions = {
fzf-native.enable = true;
};
};
};
};
}
user/settings/neovim.nix (view raw)