{ lib, config, ... }: { options = { which-key.enable = lib.mkEnableOption "Enable which-key module"; }; config = lib.mkIf config.which-key.enable { plugins.which-key = { enable = true; settings = { icons = { breadcrumb = "»"; group = "+"; separator = ""; # ➜ }; spec = [ # Harpoon Configs { __unkeyed-1 = "h"; mode = "n"; group = "+harpoon"; icon = "󱡁"; } { __unkeyed-1 = "ha"; mode = "n"; group = "Add file to Harpoon"; } { __unkeyed-1 = "hj"; mode = "n"; group = "Harpoon File 1"; } { __unkeyed-1 = "hk"; mode = "n"; group = "Harpoon File 2"; } { __unkeyed-1 = "hl"; mode = "n"; group = "Harpoon File 3"; } { __unkeyed-1 = "hm"; mode = "n"; group = "Harpoon File 4"; } # General Mappings { __unkeyed-1 = "c"; mode = [ "n" "v" ]; group = "+code"; } { __unkeyed-1 = "d"; mode = [ "n" "v" ]; group = "+debug"; } { __unkeyed-1 = "f"; mode = "n"; group = "+find/file"; } { __unkeyed-1 = "g"; mode = [ "n" "v" ]; group = "+git"; } { __unkeyed-1 = "q"; mode = "n"; group = "+quit/session"; } { __unkeyed-1 = "s"; mode = "n"; group = "+search"; } { __unkeyed-1 = ""; mode = "n"; group = "+tab"; } { __unkeyed-1 = "t"; mode = "n"; group = "+test"; } { __unkeyed-1 = "u"; mode = "n"; group = "+ui"; } { __unkeyed-1 = "w"; mode = "n"; group = "+windows"; } ]; win = { border = "none"; wo.winblend = 0; }; }; }; }; }