From c110f7dedf1666db7b212ed470bae5d56a9b3874 Mon Sep 17 00:00:00 2001 From: ozpv <39195175+ozpv@users.noreply.github.com> Date: Sat, 27 Jul 2024 21:44:15 +0000 Subject: begin nixvim --- apps/neovim.nix | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 apps/neovim.nix (limited to 'apps/neovim.nix') 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 gg Man + { + key = "gg"; + action = "Man"; + 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 = { + "ff" = "find_files"; + "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 ]; + }; +} -- cgit v1.2.3