{ pkgs, ... }: { # Which-key: Display available keybindings in popup # Shows all possible key combinations after pressing leader or other prefix keys programs.nixvim.plugins.which-key = { enable = true; settings = { delay = 500; # Time in ms before popup shows icons = { breadcrumb = "ยป"; separator = "โžœ"; group = "+"; }; # Organize keymaps into named groups spec = [ # Leader key groups { __unkeyed-1 = "a"; group = "Avante AI"; icon = "๐Ÿค–"; } { __unkeyed-1 = "f"; group = "Find/Files/Terminal"; icon = "๐Ÿ”"; } { __unkeyed-1 = "m"; group = "Molten (Jupyter)"; icon = "๐Ÿ““"; } { __unkeyed-1 = "o"; group = "OpenSCAD"; icon = "๐Ÿ”ง"; } # Bracket navigation groups { __unkeyed-1 = "["; group = "Previous"; icon = "โฌ…๏ธ"; } { __unkeyed-1 = "]"; group = "Next"; icon = "โžก๏ธ"; } # g prefix groups { __unkeyed-1 = "g"; group = "Go/LSP"; icon = "๐ŸŽฏ"; } { __unkeyed-1 = "gr"; group = "LSP References/Rename"; icon = "๐Ÿ”—"; } { __unkeyed-1 = "gc"; group = "Comments"; icon = "๐Ÿ’ฌ"; } # l prefix { __unkeyed-1 = "l"; group = "Live Server"; icon = "๐ŸŒ"; } # z prefix { __unkeyed-1 = "z"; group = "Folds/Spell"; icon = "๐Ÿ“‹"; } ]; # Hide specific mappings to reduce clutter disable = { builtin_keys = { # Hide these default vim keys from which-key i = [ "" "" ]; n = [ "" ]; }; }; }; }; }