{ config, pkgs, ... }:
{
  imports = [
    ./avante.nix
    # ./avante-custom.nix
    ./bash.nix
    # ./blink-cmp.nix
    # ./blink-cmp-copilot.nix
    # ./blink-cmp-dictionary.nix
    # ./blink-copilot.nix
    # ./blink-emoji.nixd
    ./bufferline.nix
    ./cmp.nix
    ./codecompanion.nix
    ./copilot.nix
    ./dap.nix
    ./diffview.nix
    ./fzf-lua.nix
    ./indent-blankline.nix
    ./lazydev.nix
    ./lsp.nix
    ./luasnip.nix
    # ./mini.nix
    # ./mini-files.nix
    ./nvim-tree.nix
    ./startify.nix
    ./telescope.nix
    ./treesitter.nix
    ./vim-signify.nix
  ];

  programs.nixvim = {
    plugins = {
      comment.enable = true;
      ## needed by avante. already archived, so may need to migrate to snacks
      dressing.enable = true;
      fugitive.enable = true;
      gitsigns.enable = true;
      lightline.enable = false;
      lualine.enable = true;
      nix.enable = true;
      noice.enable = true;
      ## disable, very annoying as notifications block content and
      ## are part of the buffer rotation
      notify = {
        enable = false;
        settings = {
          top_down = false;
        };
      };
      ## needed by avante.
      nui.enable = true;
      nvim-autopairs.enable = true;
      nvim-bqf.enable = true;
      nvim-lightbulb.enable = true;
          # config = ''
          #   lua << EOF
          #   require('nvim-lightbulb').setup({
          #     float = {
          #       -- "true" causes "invalid buffer id" error
          #       enabled = false,
          #     },
          #     autocmd = {
          #       enabled = true,
          #     },
          #   })
          #   EOF
          # '';
      # oil.enable = true;
      rainbow-delimiters.enable = true;
      render-markdown.enable = true;
      sleuth.enable = true;
      tmux-navigator.enable = true;
      treesitter-context.enable = true;
      trouble.enable = true;
      ts-autotag.enable = true;
      # ## Needed for telescope, nvim-tree, trouble, diffview, bufferline, and other plugins
      # ## Only on unstable at the moment
      web-devicons.enable = true;
      which-key.enable = true;
      yanky.enable = true;
    };
  };
}