return { -- the colorscheme should be available when starting Neovim { "folke/tokyonight.nvim", lazy = false, -- make sure we load this during startup if it is your main colorscheme priority = 1000, -- make sure to load this before all the other start plugins config = function() -- load the colorscheme here vim.cmd([[colorscheme tokyonight]]) end, }, -- I have a separate config.mappings file where I require which-key. -- With lazy the plugin will be automatically loaded when it is required somewhere { "folke/which-key.nvim", lazy = true }, { "nvim-neorg/neorg", -- lazy-load on filetype ft = "norg", -- custom config that will be executed when loading the plugin config = function() require("neorg").setup() end, }, -- the above could also be written as: { "nvim-neorg/neorg", ft = "norg", config = true, -- run require("neorg").setup() }, -- or set custom options: { "nvim-neorg/neorg", ft = "norg", opts = { foo = "bar" }, -- run require("neorg").setup({foo = "bar"}) }, { "dstein64/vim-startuptime", -- lazy-load on a command cmd = "StartupTime", }, { "hrsh7th/nvim-cmp", -- load cmp on InsertEnter event = "InsertEnter", -- these dependencies will only be loaded when cmp loads -- dependencies are always lazy-loaded unless specified otherwise dependencies = { "hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-buffer", }, config = function() -- ... end, }, -- you can use the VeryLazy event for things that can -- load later and are not important for the initial UI { "stevearc/dressing.nvim", event = "VeryLazy" }, { "cshuaimin/ssr.nvim", -- init is always executed during startup, but doesn't load the plugin yet. init = function() vim.keymap.set({ "n", "x" }, "cR", function() -- this require will automatically load the plugin require("ssr").open() end, { desc = "Structural Replace" }) end, }, { "monaqa/dial.nvim", -- lazy-load on keys -- mode is `n` by default. For more advanced options, check the section on key mappings keys = { "", { "", mode = "n" } }, }, -- local plugins need to be explicitly configured with dir { dir = "~/projects/secret.nvim" }, -- you can use a custom url to fetch a plugin { url = "git@github.com:folke/noice.nvim.git" }, -- local plugins can also be configure with the dev option. -- This will use {config.dev.path}/noice.nvim/ instead of fetching it from Github -- With the dev option, you can easily switch between the local and installed version of a plugin { "folke/noice.nvim", dev = true }, }