{...}: {
  programs.nixvim = {
    plugins.comment = {
      enable = true;
      settings = {
        padding = true;
        sticky = true;
        mappings = {
          basic = false;
          extra = false;
        };
      };
    };
    keymaps = [
      {
        key = "gcc";
        mode = "v";
        action = "<Plug>(comment_toggle_linewise_visual)";
        options.desc = "toggle the current line in a linewise comment";
      }
      {
        key = "gbc";
        mode = "v";
        action = "<Plug>(comment_toggle_blockwise_visual)";
        options.desc = "toggle the current line in a blockwise comment";
      }
      {
        key = "gcc";
        mode = "n";
        action = "<Plug>(comment_toggle_linewise_current)";
        options.desc = "toggle the current line in a linewise comment";
      }
      {
        key = "gbc";
        mode = "n";
        action = "<Plug>(comment_toggle_blockwise_current)";
        options.desc = "toggle the current line in a blockwise comment";
      }
    ];
  };
}