diff --git a/modules/programs/neovim.nix b/modules/programs/neovim.nix index 353f97e..c7bdffd 100644 --- a/modules/programs/neovim.nix +++ b/modules/programs/neovim.nix @@ -37,8 +37,6 @@ terminal.toggleterm.lazygit.direction = "float"; terminal.toggleterm.lazygit.mappings.open = ""; - lsp.enable = true; - languages = { enableTreesitter = true; enableFormat = true; @@ -49,11 +47,76 @@ }; }; }; + + telescopeModule = { + config.vim = { + telescope = { + enable = true; + extensions = [ + { + name = "fzf"; + packages = [ pkgs.vimPlugins.telescope-fzf-native-nvim ]; + setup = { + fzf = { + fuzzy = true; + }; + }; + } + ]; + }; + + keymaps = [ + { + desc = "Key Maps [Telescope]"; + key = "fkm"; + mode = "n"; + silent = false; + action = ":Telescope keymaps"; + } + { + desc = "Toggle Filesystem Tree [NeoTree]"; + key = ""; + mode = [ "n" "v" "t" ]; + silent = false; + action = ":Neotree toggle filesystem left action=show"; + } + ]; + }; + }; + + keymapsModule = { + config.vim = { + keymaps = [ + { + desc = "Edit key mappings"; + key = "ekm"; + mode = [ "n" ]; + silent = false; + action = ":edit +/keymaps /home/john/.config/home-manager/jsl-dendritic/modules/programs/neovim.nix"; + } + { + desc = "Home Manager Switch"; + key = "nhms"; + mode = [ "n" ]; + silent = false; + action = ":TermExec cmd='clear && nhms && exit' name='Nix Home Manager Switch' direction=float"; + } + { + key = ""; + mode = [ "n" "v" "t" ]; + silent = false; + action = ":ToggleTerm"; + } + ]; + }; + }; in { packages.my-neovim = ((inputs.nvf.lib.neovimConfiguration { inherit pkgs; modules = [ commonNeovimModule + telescopeModule + keymapsModule { # https://nvf.notashelf.dev/search.html config.vim = { @@ -66,40 +129,14 @@ enable = true; }; - # lazy = { - # enable = true; - # }; - - # globals = { - # SimpylFold_docstring_preview = 1; - # SimpylFold_fold_blank = 0; - # }; - - # extraPlugins = with pkgs.vimPlugins; { - # SimpylFold.package = SimpylFold; - # }; - - telescope = { - enable = true; - extensions = [ - { - name = "fzf"; - packages = [ pkgs.vimPlugins.telescope-fzf-native-nvim ]; - setup = { - fzf = { - fuzzy = true; - }; - }; - } - ]; - }; - # Enable Treesitter treesitter = { enable = true; grammars = with pkgs.vimPlugins.nvim-treesitter-parsers; [ python ]; }; + lsp.enable = true; + languages = { markdown = { enable = true; @@ -120,43 +157,6 @@ format.type = [ "ruff" ]; }; }; - - keymaps = [ - { - desc = "Edit key mappings"; - key = "ekm"; - mode = [ "n" ]; - silent = false; - action = ":edit +/keymaps /home/john/.config/home-manager/jsl-dendritic/modules/programs/neovim.nix"; - } - { - desc = "Home Manager Switch"; - key = "nhms"; - mode = [ "n" ]; - silent = false; - action = ":TermExec cmd='clear && nhms && exit' name='Nix Home Manager Switch' direction=float"; - } - { - desc = "Key Maps [Telescope]"; - key = "fkm"; - mode = "n"; - silent = false; - action = ":Telescope keymaps"; - } - { - desc = "Toggle Filesystem Tree [NeoTree]"; - key = ""; - mode = [ "n" "v" "t" ]; - silent = false; - action = ":Neotree toggle filesystem left action=show"; - } - { - key = ""; - mode = [ "n" "v" "t" ]; - silent = false; - action = ":ToggleTerm"; - } - ]; }; } ]; @@ -167,7 +167,11 @@ packages.neovim-min = ((inputs.nvf.lib.neovimConfiguration { inherit pkgs; - modules = [ commonNeovimModule ]; + modules = [ + commonNeovimModule + telescopeModule + keymapsModule + ]; }).neovim).overrideAttrs (old: { pname = "neovim-min"; version = "1.0.0";