return {
  'catppuccin/nvim',
  name = 'catppuccin',
  lazy = false, -- make sure we load this during startup if it is your main colorscheme
  priority = 1000,
  config = function()
    require('catppuccin').setup {
      term_colors = true,
      transparent_background = true,
      styles = {
        comments = { 'italic' },
        conditionals = {},
        loops = {},
        functions = {},
        keywords = { 'bold' },
        strings = {},
        variables = {},
        numbers = {},
        booleans = {},
        properties = {},
        types = { 'italic,bold' },
      },
      color_overrides = {
        mocha = {
          rosewater = '#ffc9c9',
          flamingo = '#ff9f9a',
          pink = '#ffa9c9',
          mauve = '#df95cf',
          lavender = '#a990c9',
          red = '#ff6960',
          maroon = '#f98080',
          peach = '#f9905f',
          yellow = '#f9bd69',
          green = '#b0d080',
          teal = '#a0dfa0',
          sky = '#a0d0c0',
          sapphire = '#95b9d0',
          blue = '#89a0e0',
          text = '#e0d0b0',
          subtext1 = '#d5c4a1',
          subtext0 = '#bdae93',
          overlay2 = '#928374',
          overlay1 = '#7c6f64',
          overlay0 = '#665c54',
          surface2 = '#504844',
          surface1 = '#3a3634',
          surface0 = '#252525',
          base = '#151515',
          mantle = '#0e0e0e',
          crust = '#080808',
        },
      },
      custom_highlights = function(colors)
        return {
          LspDiagnosticsLineNrError = { fg = '#FF0000', bg = '#51202A', style = { 'bold' } },
          LspDiagnosticsLineNrWarn = { fg = '#FFA500', bg = '#51412A', style = { 'bold' } },
          LspDiagnosticsLineNrInfo = { fg = '#00FFFF', bg = '#1E535D', style = { 'bold' } },
          LspDiagnosticsLineNrHint = { fg = '#008bbd', bg = '#1E205D', style = { 'bold' } },
          NormalFloat = { bg = '#000000' },
          CmpPmenuBorder = { fg = '#615750' },
          PmenuSel = { bg = '#282C34', fg = colors.none },
          Pmenu = { fg = '#C5CDD9', bg = '#22252A' },
          CmpItemAbbrDeprecated = { fg = '#076678', bg = colors.none, style = { 'strikethrough' } },
          CmpItemAbbrMatch = { fg = '#82AAFF', bg = colors.none, style = { 'bold' } },
          CmpItemAbbrMatchFuzzy = { fg = '#82AAFF', bg = colors.none, style = { 'bold' } },
          CmpItemMenu = { fg = '#C792EA', bg = colors.none, style = { 'italic' } },
          CmpItemKindField = { fg = '#EED8DA', bg = '#af3a03' },
          CmpItemKindProperty = { fg = '#EED8DA', bg = '#af3a03' },
          CmpItemKindEvent = { fg = '#EED8DA', bg = '#af3a03' },
          CmpItemKindText = { fg = '#C3E88D', bg = '#79740e' },
          CmpItemKindEnum = { fg = '#C3E88D', bg = '#79740e' },
          CmpItemKindKeyword = { fg = '#C3E88D', bg = '#79740e' },
          CmpItemKindConstant = { fg = '#FFE082', bg = '#d65d0e' },
          CmpItemKindConstructor = { fg = '#FFE082', bg = '#d65d0e' },
          CmpItemKindReference = { fg = '#FFE082', bg = '#d65d0e' },
          CmpItemKindFunction = { fg = '#EADFF0', bg = '#8f3f71' },
          CmpItemKindStruct = { fg = '#EADFF0', bg = '#8f3f71' },
          CmpItemKindClass = { fg = '#EADFF0', bg = '#8f3f71' },
          CmpItemKindModule = { fg = '#EADFF0', bg = '#8f3f71' },
          CmpItemKindOperator = { fg = '#EADFF0', bg = '#8f3f71' },
          CmpItemKindVariable = { fg = '#C5CDD9', bg = '#076678' },
          CmpItemKindFile = { fg = '#C5CDD9', bg = '#076678' },
          CmpItemKindUnit = { fg = '#F5EBD9', bg = '#b57614' },
          CmpItemKindSnippet = { fg = '#F5EBD9', bg = '#b57614' },
          CmpItemKindFolder = { fg = '#F5EBD9', bg = '#b57614' },
          CmpItemKindMethod = { fg = '#DDE5F5', bg = '#34608d' },
          CmpItemKindValue = { fg = '#DDE5F5', bg = '#34608d' },
          CmpItemKindEnumMember = { fg = '#DDE5F5', bg = '#34608d' },
          CmpItemKindInterface = { fg = '#D8EEEB', bg = '#427b58' },
          CmpItemKindColor = { fg = '#D8EEEB', bg = '#427b58' },
          CmpItemKindTypeParameter = { fg = '#D8EEEB', bg = '#427b58' },
        }
      end,
    }
    vim.cmd.colorscheme 'catppuccin'
  end,
}
