{ lib, pkgs, ... }: { programs.nvf.settings.vim = { undoFile.enable = true; theme = lib.mkForce { enable = true; name = "catppuccin"; style = "latte"; transparent = false; }; navigation = { harpoon.enable = true; }; utility = { motion.flash-nvim.enable = true; outline.aerial-nvim.enable = true; diffview-nvim.enable = true; surround.enable = true; smart-splits.enable = true; yanky-nvim.enable = true; }; tabline.nvimBufferline.enable = true; notes.todo-comments.enable = true; # assistant.copilot = { # enable = true; # cmp.enable = true; # }; statusline.lualine.enable = true; # autocomplete.blink-cmp = { # enable = true; # friendly-snippets.enable = true; # }; autocomplete = { nvim-cmp = { enable = true; sources = { buffer = "[Buffer]"; nvim-cmp = null; path = "[Path]"; }; sourcePlugins = [ pkgs.vimPlugins.cmp-cmdline ]; }; }; snippets.luasnip.enable = true; ui = { noice.enable = true; colorizer.enable = true; }; visuals = { rainbow-delimiters.enable = true; nvim-scrollbar = { enable = false; }; }; git = { enable = true; gitsigns.enable = true; }; terminal.toggleterm = { enable = true; lazygit = { enable = true; mappings.open = "gl"; }; }; formatter.conform-nvim.enable = true; binds.hardtime-nvim.enable = true; utility.motion.precognition.enable = true; binds.hardtime-nvim.setupOpts = { max_count = 3; # Optional: limit of consecutive presses disabled_keys = { "" = false; "" = false; "" = false; "" = false; }; restricted_keys = { "" = [ "n" "x" ]; "" = [ "n" "x" ]; "" = [ "n" "x" ]; "" = [ "n" "x" ]; }; }; }; }