diff --git a/home/programs/nvf/default.nix b/home/programs/nvf/default.nix index 2e73b78..0fa3ce0 100644 --- a/home/programs/nvf/default.nix +++ b/home/programs/nvf/default.nix @@ -4,15 +4,6 @@ ... }: { imports = [inputs.nvf.homeManagerModules.default]; - # Packages needed by snacks image preview - home.packages = with pkgs; [ - imagemagick - tree-sitter - ghostscript - tectonic - mermaid-cli - ]; - programs.nvf = { enable = true; settings = { diff --git a/home/programs/nvf/keymaps.nix b/home/programs/nvf/keymaps.nix index 6a67d27..8e9c067 100644 --- a/home/programs/nvf/keymaps.nix +++ b/home/programs/nvf/keymaps.nix @@ -1,20 +1,13 @@ { vim = { globals.mapleader = " "; - binds = { - whichKey = { - enable = true; - register = {}; - }; - }; keymaps = [ - # General Mappings { key = "s"; mode = "n"; silent = true; - action = "lua require('flash').jump()"; - desc = "Flash"; + action = "lua MiniJump2d.start(MiniJump2d.builtin_opts.single_character)"; + desc = "Jump2d"; } { key = "K"; @@ -31,6 +24,177 @@ desc = "Next Buffer"; } + # Format + { + key = "lf"; + mode = "n"; + silent = true; + action = "lua require('conform').format({ async = true, lsp_format = 'fallback' })"; + desc = "Format file"; + } + + # Terminal + { + key = "tt"; + mode = "n"; + silent = true; + action = "lua Snacks.terminal.toggle()"; + desc = "Toggle terminal"; + } + { + key = "tf"; + mode = "n"; + silent = true; + action = "lua Snacks.terminal.toggle(nil, { style = 'float' })"; + desc = "Toggle terminal (float)"; + } + { + key = "tg"; + mode = "n"; + silent = true; + action = "lua Snacks.lazygit()"; + desc = "Lazygit"; + } + + # UI + { + key = "uw"; + mode = "n"; + silent = true; + action = "set wrap!"; + desc = "Toggle word wrapping"; + } + { + key = "ul"; + mode = "n"; + silent = true; + action = "set linebreak!"; + desc = "Toggle linebreak"; + } + { + key = "us"; + mode = "n"; + silent = true; + action = "set spell!"; + desc = "Toggle spellLazyGitcheck"; + } + { + key = "uc"; + mode = "n"; + silent = true; + action = "set cursorline!"; + desc = "Toggle cursorline"; + } + { + key = "un"; + mode = "n"; + silent = true; + action = "set number!"; + desc = "Toggle line numbers"; + } + { + key = "ur"; + mode = "n"; + silent = true; + action = "set relativenumber!"; + desc = "Toggle relative line numbers"; + } + { + key = "ut"; + mode = "n"; + silent = true; + action = "set showtabline=2"; + desc = "Show tabline"; + } + { + key = "uT"; + mode = "n"; + silent = true; + action = "set showtabline=0"; + desc = "Hide tabline"; + } + + # Todos + { + key = "xt"; + mode = "n"; + silent = true; + action = "TodoTrouble"; + desc = "Todo (Trouble)"; + } + + # QOL + { + key = ">"; + mode = "v"; + silent = true; + action = ">gv"; + desc = "Indent and keep selection"; + } + { + key = "<"; + mode = "v"; + silent = true; + action = "lua Snacks.picker.files({ cwd = vim.fn.stdpath("config") })''; - desc = "Find Config File"; - } { key = "ff"; mode = "n"; @@ -76,13 +47,6 @@ action = "lua Snacks.picker.files()"; desc = "Find Files"; } - { - key = "fg"; - mode = "n"; - silent = true; - action = "lua Snacks.picker.git_files()"; - desc = "Find Git Files"; - } { key = "fp"; mode = "n"; @@ -97,6 +61,13 @@ action = "lua Snacks.picker.recent()"; desc = "Recent"; } + { + key = "f:"; + mode = "n"; + silent = true; + action = "lua Snacks.picker.command_history()"; + desc = "Command History"; + } { key = "fn"; mode = "n"; @@ -104,65 +75,14 @@ action = "lua Snacks.picker.notifications()"; desc = "Notification History"; } - { - key = "fe"; - mode = "n"; - silent = true; - action = "lua Snacks.picker.icons()"; - desc = "Emoji"; - } - - # Git - { - key = "gb"; - mode = "n"; - silent = true; - action = "lua Snacks.picker.git_branches()"; - desc = "Git Branches"; - } - { - key = "gL"; - mode = "n"; - silent = true; - action = "lua Snacks.picker.git_log()"; - desc = "Git Log Line"; - } - { - key = "gs"; - mode = "n"; - silent = true; - action = "lua Snacks.picker.git_status()"; - desc = "Git Status"; - } - { - key = "gS"; - mode = "n"; - silent = true; - action = "lua Snacks.picker.git_stash()"; - desc = "Git Stash"; - } - { - key = "gd"; - mode = "n"; - silent = true; - action = "lua Snacks.picker.git_diff()"; - desc = "Git Diff (Hunks)"; - } - { - key = "gf"; - mode = "n"; - silent = true; - action = "lua Snacks.picker.git_log_file()"; - desc = "Git Log File"; - } # Grep { - key = "sb"; + key = "sg"; mode = "n"; silent = true; - action = "lua Snacks.picker.lines()"; - desc = "Buffer Lines"; + action = "lua Snacks.picker.grep()"; + desc = "Grep"; } { key = "st"; @@ -171,20 +91,6 @@ action = "lua Snacks.picker.todo_comments()"; desc = "Todos"; } - { - key = "sB"; - mode = "n"; - silent = true; - action = "lua Snacks.picker.grep_buffers()"; - desc = "Grep Open Buffers"; - } - { - key = "sg"; - mode = "n"; - silent = true; - action = "lua Snacks.picker.grep()"; - desc = "Grep"; - } { key = "sw"; mode = "n"; diff --git a/home/programs/nvf/snacks.nix b/home/programs/nvf/snacks.nix index 2b00dbe..85a25e0 100644 --- a/home/programs/nvf/snacks.nix +++ b/home/programs/nvf/snacks.nix @@ -2,18 +2,17 @@ vim.utility.snacks-nvim = { enable = true; setupOpts = { - image = { - enabled = true; - doc = { - inline = false; - float = true; - }; - }; quickfile.enabled = true; statuscolumn.enabled = true; zen.enabled = true; bufdelete.enabled = true; gitsigns.enabled = true; + animate.enabled = true; + lazygit = { + enabled = true; + configure = false; + }; + terminal.enabled = true; }; }; } diff --git a/home/programs/nvf/utils.nix b/home/programs/nvf/utils.nix index 7a1356d..7982176 100644 --- a/home/programs/nvf/utils.nix +++ b/home/programs/nvf/utils.nix @@ -1,17 +1,15 @@ {pkgs, ...}: { vim = { + luaConfigRC.remove-todo-keymaps = '' + vim.keymap.del("n", "tdq") + vim.keymap.del("n", "tdt") + ''; undoFile.enable = true; - utility = { - motion.flash-nvim.enable = true; - outline.aerial-nvim.enable = true; - }; - tabline.nvimBufferline.enable = true; notes.todo-comments.enable = true; assistant.copilot = { enable = true; cmp.enable = true; }; - statusline.lualine.enable = true; autocomplete = { nvim-cmp = { @@ -31,22 +29,9 @@ noice.enable = true; colorizer.enable = true; }; - git = { - enable = true; - gitsigns.enable = true; - }; - terminal.toggleterm = { - enable = true; - lazygit = { - enable = true; - mappings.open = "gl"; - }; - }; + visuals = { rainbow-delimiters.enable = true; - nvim-scrollbar = { - enable = false; - }; }; }; }