return {
	-- color theme
	"EdenEast/nightfox.nvim",
	lazy = false,
	priority = 1000,
	config = function()
		local Shade = require("nightfox.lib.shade")
		require("nightfox").setup({
			options = {
				transparent = true,
				styles = {
					comments = "italic",
					functions = "italic",
					keywords = "italic",
					types = "italic",
				},
			},
			palettes = {
				all = {
					black = Shade.new("#404944", 0.15, -0.15),
					gray = Shade.new("#505050", 0.15, -0.15),
					white = Shade.new("#dee4df", 0.15, -0.15),
					red = Shade.new("#ff6060", 0.15, -0.15),
					darkred = Shade.new("#AA3030", 0.15, -0.15),
					strongred = Shade.new("#bb0000", 0.15, -0.15),
					orange = Shade.new("#ce8c14", 0.15, -0.15),
					green = Shade.new("#a3d397", 0.10, -0.15),
					darkgreen = Shade.new("#005602", 0.10, -0.15),
					darkyellow = Shade.new("#dfd100", 0.10, -0.15),
					yellow = Shade.new("#e3c46d", 0.15, -0.15),
					darkblue = Shade.new("#1010cc", 0.15, -0.15),
					blue = Shade.new("#7070dd", 0.15, -0.15),
					magenta = Shade.new("#C02490", 0.30, -0.15),
					pink = Shade.new("#ff82c2", 0.15, -0.15),
					purple = Shade.new("#761464", 0.15, -0.15),
					turquoise = Shade.new("#3fffb0", 0.15, -0.15),
					cyan = Shade.new("#7ac9ff", 0.15, -0.15),
					lightblue = Shade.new("#add8e6", 0.15, -0.15),
					softblue = Shade.new("#10aaff", 0.15, -0.15),
					brown = Shade.new("#664010", 0.15, -0.15),

					bg0 = "#0f1512", -- Dark bg (status line and float)
					bg1 = "#0f1512", -- Default bg
					bg2 = "#1b211e", -- Lighter bg (colorcolm folds)
					bg3 = "#252b28", -- Lighter bg (cursor line)
					bg4 = "#303633", -- Conceal, border fg
                    bgDark = "#0c0c0c",

					fg0 = "#dee4df", -- Lighter fg
					fg1 = "#dee4df", -- Default fg
					fg2 = "#dee4df", -- Darker fg (status line)
					fg3 = "#89938d", -- Darker fg (line numbers, fold colums)

					sel0 = "#404944", -- Popup bg, visual selection
					sel1 = "#00513b", -- Popup sel bg, search bg

					comment = "#89938d",
				},
			},
			specs = {
				carbonfox = {
					syntax = {
						comment = "comment",
						bracket = "darkyellow",
						builtin0 = "turquoise",
						builtin1 = "cyan",
						builtin2 = "lightblue",
						conditional = "darkblue",
						const = "gray",
						dep = "darkred",
						field = "green",
						func = "pink",
						ident = "darkgreen",
						keyword = "blue",
						number = "yellow",
						operator = "white",
						preproc = "strongred",
						regex = "purple",
						statement = "magenta",
						string = "softblue",
						type = "red",
						variable = "orange",
					},
					diag = {
						error = "darkred",
						warn = "yellow",
						info = "softblue",
						hint = "fg3",
						ok = "darkgreen",
					},
					diag_bg = {
						error = "red",
						warn = "#a16b00",
						info = "cyan",
						hint = "bg3",
						ok = "green",
					},
					diff = {
						add = "darkgreen",
						delete = "darkred",
						changed = "softblue",
						text = "fg0",
					},
					git = {
						add = "darkgreen",
						removed = "darkred",
						changed = "softblue",
						conflict = "orange",
						ignored = "gray",
					},
				},
			},
			groups = {
				all = {
					Cursor = { fg = "palette.white", bg = "palette.lightblue" }, -- character under the cursor
					WinSeparator = { fg = "palette.bg2" }, -- the column separating vertically split windows
					EndOfBuffer = { link = "WinSeparator" }, -- filler lines (~) after the end of the buffer.  By default, this is highlighted like |hl-NonText|.
					CursorLine = { bg = "palette.bg1" },
					CursorLineNr = { fg = "palette.cyan", style = "bold" }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line.
					Search = { fg = "palette.softblue", bg = "#00513b" }, -- Last search pattern highlighting (see 'hlsearch').  Also used for similar items that need to stand out.
					IncSearch = { fg = "palette.softblue", bg = "#1a6b51" }, -- 'incsearch' highlighting; also used for the text replaced with ":s///c"
					ModeMsg = { fg = "palette.fg3", style = "bold" }, -- 'showmode' message (e.g., "-- INSERT --")

					SnacksDashboardNormal = { fg = "palette.green" },
					SnacksDashboardDesc = { fg = "palette.softblue" },
					SnacksDashboardFile = { fg = "palette.softblue" },
					SnacksDashboardIcon = { fg = "palette.orange" },
					SnacksDashboardHeader = { fg = "palette.darkred" },
					SnacksDashboardTitle = { fg = "palette.turquoise" },
					SnacksIndentScope = { fg = "palette.lightblue" },
                    NormalFloat = { bg = "palette.bgDark" },
                    Directory = { fg = "palette.cyan" }
				},
			},
		})
		if not vim.g.vscode then
			vim.cmd.colorscheme('carbonfox')
		end
	end,
}
