{ pkgs }: { enable = true; defaultEditor = true; vimAlias = true; opts = { number = true; relativenumber = true; tabstop = 2; softtabstop = 2; shiftwidth = 2; expandtab = true; smartindent = true; signcolumn = "yes"; scrolloff = 12; hlsearch = false; incsearch = true; updatetime = 50; fillchars.eob = " "; }; clipboard = { register = "unnamedplus"; providers.wl-copy.enable = true; }; globals.mapleader = ";"; presets = { auto-save.enable = true; auto-format.enable = true; harpoon.enable = true; lazygit.enable = true; mergetool.enable = true; trouble.enable = true; base = { completion.enable = true; diagnostics.enable = true; find.enable = true; formatting = { enable = true; prettier = true; }; status-line.enable = true; syntax.enable = true; tree.enable = true; }; languages = { angular.enable = true; c.enable = true; css = { enable = true; stylelint = true; }; js = { enable = true; eslint = true; npm = true; }; lua.enable = true; nix.enable = true; python.enable = true; rust.enable = true; shell.enable = true; }; }; keymaps = [ { key = "u"; mode = "n"; action = ":UndotreeToggle"; } # Find/Navigate { key = "J"; mode = "v"; action = ":m '>+1gv=gv"; } { key = "K"; mode = "v"; action = ":m '<-2gv=gv"; } { key = ""; mode = "n"; action = "zz"; } { key = ""; mode = "n"; action = "zz"; } { key = "p"; mode = "x"; action = ''"_dP''; } { key = "p"; mode = "n"; action = ''"_dP''; } { key = "p"; mode = "v"; action = ''"_dP''; } ]; plugins = { leap.enable = true; lsp.servers = { html.enable = true; svelte.enable = true; dockerls.enable = true; yamlls.enable = true; jsonls.enable = true; taplo.enable = true; }; which-key = { enable = true; registrations."p" = "Paste Keep Buffer"; }; copilot-lua = { enable = true; suggestion.autoTrigger = true; }; }; }