return { { 'catppuccin/nvim', name = 'catppuccin', priority = 1000, config = function() require('catppuccin').setup { flavour = 'auto', -- latte, frappe, macchiato, mocha background = { -- :h background light = 'latte', dark = 'mocha', }, transparent_background = false, float = { transparent = true, -- enable transparent floating windows solid = false, -- use solid styling for floating windows, see |winborder| }, show_end_of_buffer = false, -- shows the '~' characters after the end of buffers term_colors = false, -- sets terminal colors (e.g. `g:terminal_color_0`) dim_inactive = { enabled = true, -- dims the background color of inactive window shade = 'dark', percentage = 0.15, -- percentage of the shade to apply to the inactive window }, no_italic = false, -- Force no italic no_bold = false, -- Force no bold no_underline = false, -- Force no underline styles = { -- Handles the styles of general hi groups (see `:h highlight-args`): comments = { 'italic' }, -- Change the style of comments conditionals = { 'italic' }, loops = {}, functions = {}, keywords = {}, strings = {}, variables = {}, numbers = {}, booleans = {}, properties = {}, types = {}, operators = {}, -- miscs = {}, -- Uncomment to turn off hard-coded styles }, lsp_styles = { -- Handles the style of specific lsp hl groups (see `:h lsp-highlight`). virtual_text = { errors = { 'italic' }, hints = { 'italic' }, warnings = { 'italic' }, information = { 'italic' }, ok = { 'italic' }, }, underlines = { errors = { 'underline' }, hints = { 'underline' }, warnings = { 'underline' }, information = { 'underline' }, ok = { 'underline' }, }, inlay_hints = { background = true, }, }, color_overrides = {}, custom_highlights = {}, default_integrations = true, auto_integrations = false, integrations = { cmp = true, gitsigns = true, nvimtree = true, notify = false, mini = { enabled = true, indentscope_color = '', }, -- For more plugins integrations please scroll down (https://github.com/catppuccin/nvim#integrations) }, } -- setup must be called before loading vim.cmd.colorscheme 'catppuccin' end, }, -- Automatic dark mode -- https://github.com/f-person/auto-dark-mode.nvim { 'f-person/auto-dark-mode.nvim', opts = { update_interval = 1000, set_dark_mode = function() vim.api.nvim_set_option_value('background', 'dark', {}) -- vim.cmd.colorscheme(vim.g.colors_variant_dark) -- vim.cmd 'colorscheme rose-pine' end, set_light_mode = function() vim.api.nvim_set_option_value('background', 'light', {}) -- vim.cmd.colorscheme(vim.g.colors_variant_light) -- vim.cmd 'colorscheme rose-pine-dawn' end, }, }, -- The fastest Neovim colorizer -- https://github.com/catgoose/nvim-colorizer.lua { 'catgoose/nvim-colorizer.lua', event = 'BufReadPre', opts = { user_default_options = { names = false, }, }, }, { 'dmtrKovalenko/fff.nvim', build = function() -- this will download prebuild binary or try to use existing rustup toolchain to build from source -- (if you are using lazy you can use gb for rebuilding a plugin if needed) require('fff.download').download_or_build_binary() end, -- if you are using nixos -- build = "nix run .#release", opts = { -- (optional) debug = { enabled = true, -- we expect your collaboration at least during the beta show_scores = true, -- to help us optimize the scoring system, feel free to share your scores! }, }, -- No need to lazy-load with lazy.nvim. -- This plugin initializes itself lazily. lazy = false, keys = { { 'ff', -- try it if you didn't it is a banger keybinding for a picker function() require('fff').find_files() end, desc = 'FFFind files', }, }, }, -- Display a character as the colorcolumn -- https://github.com/lukas-reineke/virt-column.nvim { 'lukas-reineke/virt-column.nvim', opts = {} }, -- Neovim plugin for locking a buffer to a window -- https://github.com/stevearc/stickybuf.nvim { 'stevearc/stickybuf.nvim', opts = {} }, -- Break bad habits, master Vim motions -- https://github.com/m4xshen/hardtime.nvim { 'm4xshen/hardtime.nvim', lazy = false, dependencies = { 'MunifTanjim/nui.nvim' }, opts = { restriction_mode = 'hint', disabled_keys = { [''] = { '', 'n' }, [''] = { '', 'n' }, [''] = { '', 'n' }, [''] = { '', 'n' }, [''] = { '', 'n' }, [''] = { '', 'n' }, [''] = { '', 'n' }, [''] = { '', 'n' }, }, disabled_filetypes = { 'TelescopePrompt', 'Trouble', 'lazy', 'mason', 'help', 'notify', 'dashboard', 'alpha', }, hints = { ['[dcyvV][ia][%(%)]'] = { message = function(keys) return 'Use ' .. keys:sub(1, 2) .. 'b instead of ' .. keys end, length = 3, }, ['[dcyvV][ia][%{%}]'] = { message = function(keys) return 'Use ' .. keys:sub(1, 2) .. 'B instead of ' .. keys end, length = 3, }, }, }, }, }