the_themes = {
  -- Dark Themes
  {
    name = '==========Dark Themes==========',
    colorscheme = '', -- this actually keeps the selected theme, but it wont work with persistence
  },
  {
    name = 'nvim default',
    colorscheme = 'default',
  },
  {
    name = 'nvim lunaperche',
    colorscheme = 'lunaperche',
  },
  {
    name = 'nvim quiet',
    colorscheme = 'quiet',
  },
  {
    name = 'nvim retrobox',
    colorscheme = 'retrobox',
  },
  {
    name = 'nvim slate',
    colorscheme = 'slate',
  },
  {
    name = 'nvim vim',
    colorscheme = 'vim',
  },
  {
    name = 'tokyonight',
    colorscheme = 'tokyonight',
  },
  {
    name = 'tokyonight-moon',
    colorscheme = 'tokyonight-moon',
  },
  {
    name = 'tokyonight-storm',
    colorscheme = 'tokyonight-storm',
  },
  {
    name = 'kanagawa',
    colorscheme = 'kanagawa',
  },
  {
    name = 'kanagawa-dragon',
    colorscheme = 'kanagawa-dragon',
  },
  {
    name = 'kanagawa-wave',
    colorscheme = 'kanagawa-wave',
  },
  {
    name = 'zenbones',
    colorscheme = 'zenbones',
    before = [[
              -- It's a major hack from the themery guys that this is a string
              vim.opt.background = "dark"
            ]],
  },
  {
    name = 'tokyobones',
    colorscheme = 'tokyobones',
    before = [[
              -- It's a major hack from the themery guys that this is a string
              vim.opt.background = "dark"
            ]],
  },
  {
    name = 'kanagawabones',
    colorscheme = 'kanagawabones',
    before = [[
              -- It's a major hack from the themery guys that this is a string
              vim.opt.background = "dark"
            ]],
  },
  'catppuccin-frappe',
  'catppuccin-macchiato',
  'catppuccin-mocha',
  'rose-pine-main',
  'rose-pine-moon',
  'cyberdream',
  -- Light themes
  {
    name = '==========Light Themes==========',
    colorscheme = '', -- this actually keeps the selected theme, but it wont work with persistence
  },
  {
    name = 'tokyonight-day',
    colorscheme = 'tokyonight-day',
  },
  {
    name = 'kanagawa-lotus',
    colorscheme = 'kanagawa-lotus',
  },
  {
    name = 'zenbones',
    colorscheme = 'zenbones',
    before = [[
              -- It's a major hack from the themery guys that this is a string
              vim.opt.background = "light"
            ]],
  },
  'catppuccin-latte',
  'rose-pine-dawn',
  'cyberdream-light',
}

return {
  {
    'zaldih/themery.nvim',
    lazy = false,
    cmd = 'Themery',
    keys = {
      { ';ft', '<cmd> Themery <cr>', desc = '[F]ind [T]heme' },
    },
    config = function()
      require('themery').setup {
        themes = the_themes,
        livePreview = true, -- Apply theme while browsing. Default to true.
      }
    end,
  },
  'folke/tokyonight.nvim',
  'rebelot/kanagawa.nvim',
  { 'zenbones-theme/zenbones.nvim', dependencies = { 'rktjmp/lush.nvim' } },
  { 'catppuccin/nvim', name = 'catppuccin', priority = 1000 },
  { 'rose-pine/neovim', name = 'rose-pine' },
  {
    'scottmckendry/cyberdream.nvim',
    setup = function()
      require('cyberdream').setup {
        -- Enable transparent background
        transparent = true,
        italic_comments = false,
        -- Replace all fillchars with ' ' for the ultimate clean look
        hide_fillchars = false,
        borderless_pickers = true,
        terminal_colors = true,
        cache = true,
        extensions = {
          telescope = true,
          notify = true,
          mini = true,
        },
      }
    end,
  },
}
