diff --git a/modules/programs/neovim.nix b/modules/programs/neovim.nix index 4176b19..9a7c79f 100644 --- a/modules/programs/neovim.nix +++ b/modules/programs/neovim.nix @@ -12,15 +12,63 @@ modules = [ { config.vim = { + options = { + number = true; + relativenumber = true; + expandtab = true; + shiftwidth = 4; + tabstop = 4; + softtabstop = 4; + }; + + syntaxHighlighting = true; + # Enable custom theming options theme.enable = true; + theme.name = "catppuccin"; + theme.style = "mocha"; + + lazy = { + enable = true; + }; + + telescope = { + enable = true; + extensions = [ + { + name = "fzf"; + packages = [pkgs.vimPlugins.telescope-fzf-native-nvim]; + setup = {fzf = {fuzzy = true;};}; + } + ]; + }; # Enable Treesitter - treesitter.enable = true; + treesitter = { + enable = true; + # grammars = [ "python" ]; + }; - # Other options will go here. Refer to the config - # reference in Appendix B of the nvf manual. - # ... + lsp.enable = true; + + languages = { + enableTreesitter = true; + enableFormat = true; + python = { + enable = true; + dap.enable = true; + format.type = [ "ruff" ]; + }; + }; + + keymaps = [ + { + key = "m"; + mode = "n"; + silent = true; + action = ":make"; + } + ]; }; } ];