local config = function()
  require("catppuccin").setup({
    transparent_background = true, -- disables setting the background color.
    show_end_of_buffer = false, -- shows the '~' characters after the end of buffers
    term_colors = true, -- sets terminal colors (e.g. `g:terminal_color_0`)
    dim_inactive = {
        enabled = false, -- dims the background color of inactive window
        shade = "dark",
        percentage = 0.15, -- percentage of the shade to apply to the inactive window
    },
    styles = { -- Handles the styles of general hi groups (see `:h highlight-args`):
        comments = { "italic" }, -- Change the style of comments
        conditionals = { "italic" },
        loops = {},
        functions = {},
        keywords = { "bold" },
        strings = { "bold"},
        variables = {},
        numbers = {},
        booleans = {},
        properties = {},
        types = { "bold" },
        operators = {},
        -- miscs = {}, -- Uncomment to turn off hard-coded styles
    },
    default_integrations = true,
    integrations = {
      alpha = true,
      cmp = true,
      noice = true,
      nvimtree = true,
      treesitter = true,
      telescope = {
        enabled = true,
      },
      illuminate = {
        enabled = true,
        lsp = true,
      },
    }
  })

  vim.cmd.colorscheme "catppuccin"
end

return {
  "catppuccin/nvim",
  name = "catppuccin",
  priority = 1000,
  config = config
}
