{
  programs.nixvim.plugins.telescope = {
    enable = true;
    extensions.fzy-native.enable = true;
  };
  programs.nixvim.keymaps = [
    {
      # find files
      mode = ["n"];
      key = "<Leader>ff";
      action = "<cmd>Telescope find_files<CR>";
      options = {noremap = true;};
    }
    {
      # live grep
      mode = ["n"];
      key = "<Leader>fg";
      action = "<cmd>Telescope live_grep<CR>";
      options = {noremap = true;};
    }
    {
      # grep string under cursor
      mode = ["n"];
      key = "<Leader>fs";
      action = "<cmd>Telescope grep_string<CR>";
      options = {noremap = true;};
    }
    {
      # buffers
      mode = ["n"];
      key = "<Leader>fb";
      action = "<cmd>Telescope buffers<CR>";
      options = {noremap = true;};
    }
    {
      # help tags
      mode = ["n"];
      key = "<Leader>fh";
      action = "<cmd>Telescope help_tags<CR>";
      options = {noremap = true;};
    }
    {
      # show recently opened files
      mode = ["n"];
      key = "<Leader>fo";
      action = "<cmd>Telescope oldfiles<CR>";
      options = {noremap = true;};
    }
  ];
}