diff options
| author | ozpv <39195175+ozpv@users.noreply.github.com> | 2024-07-27 21:44:15 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-27 21:44:15 +0000 |
| commit | c110f7dedf1666db7b212ed470bae5d56a9b3874 (patch) | |
| tree | c8b0bf8e15d4fcca8b55a767f7892a3e2b71458b | |
| parent | 5876f2325d1977350bc6406deb86cecab0505f8d (diff) | |
begin nixvim
| -rw-r--r-- | apps/neovim.nix | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/apps/neovim.nix b/apps/neovim.nix new file mode 100644 index 0000000..766d746 --- /dev/null +++ b/apps/neovim.nix @@ -0,0 +1,75 @@ +{ config, pkgs, ... }: +{ + programs.nixvim = { + enable = true; + + keymaps = [ + # Equivalent to nnoremap ; : + { + key = ";"; + action = ":"; + } + + # Equivalent to nmap <silent> <buffer> <leader>gg <cmd>Man<CR> + { + key = "<leader>gg"; + action = "<cmd>Man<CR>"; + options = { + silent = true; + remap = false; + }; + } + # Etc... + ]; + + # We can set the leader key: + globals.mapleader = " "; + + # We can also set options: + opts = { + tabstop = 4; + shiftwidth = 4; + expandtab = false; + + mouse = "a"; + + # etc... + }; + + plugins = { + lazy.enable = true; + + telescope = { + enable = true; + keymaps = { + "<leader>ff" = "find_files"; + "<leader>lg" = "live_grep"; + }; + }; + + lsp = { + enable = true; + servers = { + tsserver.enable = true; + lua-ls.enable = true; + bashls.enable = true; + html.enable = true; + pyright.enable = true; + jsonls.enable = true; + java-language-server.enable = true; + cmake.enable = true; + sqls.enable = true; + rust-analyzer = { + enable = true; + installRustc = true; + installCargo = true; + }; + }; + }; + }; + + colorschemes.gruvbox.enable = true; + + extraPlugins = with pkgs.vimPlugins; [ vim-toml ]; + }; +} |
