{ ... }:
{
  programs.nixvim = {
    keymaps = [
      # -----------------------------------------------------
      # buffer manipulation
      # -----------------------------------------------------

      ## Next Buffer
      {
        key = "<Tab>";
        action = ":bn<CR>";
        options = { noremap = true; };
      }
      ## Previous Buffer
      {
        key = "<S-Tab>";
        action = ":bp<CR>";
        options = { noremap = true; };
      }
      ## Close Buffer
      {
        key = "<leader><Tab>";
        action = ":bd<CR>";
        options = { noremap = true; };
      }
      ## Force Close Buffer
      {
        key = "<leader><S-Tab>";
        action = ":bd!<CR>";
        options = { noremap = true; };
      }
      ## New Tab
      {
        key = "<leader>t";
        action = ":tabnew split<CR>";
        options = { noremap = true; };
      }
    ];
  };
}