user/settings/neovim.nix (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | {
config,
...
}:
{
home.sessionVariables = {
MANPAGER = "nvim +Man!";
};
programs.nixvim = {
enable = true;
defaultEditor = true;
nixpkgs.config = config.nixpkgs.config;
viAlias = true;
vimAlias = true;
vimdiffAlias = true;
# withRuby = false;
clipboard.register = "unnamed";
opts = {
autoindent = true;
number = true;
relativenumber = true;
shiftwidth = 2;
background = "light";
};
globals.mapleader = ",";
colorscheme = "shine";
performance = {
byteCompileLua = {
enable = true;
nvimRuntime = true;
plugins = true;
};
};
plugins = {
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 = {
"<leader>ff" = "find_files";
"<leader>fg" = "live_grep";
"<leader>bb" = "buffers";
"<leader>pf" = "git_files";
"<leader>fh" = "help_tags";
};
settings = {
mappings = {
i = {
"<C-h>" = "which_key";
};
};
};
extensions = {
fzf-native.enable = true;
};
};
};
};
}
|