require('nixCatsUtils').setup({ non_nix_value = true, }) local function getlockfilepath() if require('nixCatsUtils').isNixCats and type(nixCats.settings.unwrappedCfgPath) == 'string' then return nixCats.settings.unwrappedCfgPath .. '/lazy-lock.json' else return vim.fn.stdpath('config') .. '/lazy-lock.json' end end local lazyOptions = { lockfile = getlockfilepath(), install = { missing = false, }, } require('nixCatsUtils.lazyCat').setup( nixCats.pawsible({ 'allPlugins', 'start', 'lazy.nvim' }), { { 'LazyVim/LazyVim', import = 'lazyvim.plugins' }, { 'folke/lazydev.nvim', ft = 'lua', opts = { library = { { path = (nixCats.nixCatsPath or '') .. '/lua', words = { 'nixCats' }, }, }, }, }, -- Extras. { import = 'lazyvim.plugins.extras.coding.luasnip' }, { import = 'lazyvim.plugins.extras.coding.mini-comment' }, { import = 'lazyvim.plugins.extras.coding.mini-surround' }, { import = 'lazyvim.plugins.extras.coding.neogen' }, { import = 'lazyvim.plugins.extras.coding.yanky' }, -- Edgy is required to be imported before aerial. { import = 'lazyvim.plugins.extras.ui.edgy' }, { import = 'lazyvim.plugins.extras.editor.aerial' }, { import = 'lazyvim.plugins.extras.editor.dial' }, { import = 'lazyvim.plugins.extras.editor.navic' }, { import = 'lazyvim.plugins.extras.editor.neo-tree' }, { import = 'lazyvim.plugins.extras.editor.refactoring' }, { import = 'lazyvim.plugins.extras.formatting.biome' }, { import = 'lazyvim.plugins.extras.formatting.prettier' }, { import = 'lazyvim.plugins.extras.lang.docker' }, { import = 'lazyvim.plugins.extras.lang.git' }, { import = 'lazyvim.plugins.extras.lang.go' }, { import = 'lazyvim.plugins.extras.lang.helm' }, { import = 'lazyvim.plugins.extras.lang.json' }, { import = 'lazyvim.plugins.extras.lang.markdown' }, { import = 'lazyvim.plugins.extras.lang.nix' }, { import = 'lazyvim.plugins.extras.lang.nushell' }, { import = 'lazyvim.plugins.extras.lang.php' }, { import = 'lazyvim.plugins.extras.lang.python' }, { import = 'lazyvim.plugins.extras.lang.ruby' }, { import = 'lazyvim.plugins.extras.lang.sql' }, { import = 'lazyvim.plugins.extras.lang.tailwind' }, { import = 'lazyvim.plugins.extras.lang.terraform' }, { import = 'lazyvim.plugins.extras.lang.toml' }, { import = 'lazyvim.plugins.extras.lang.typescript' }, { import = 'lazyvim.plugins.extras.lang.vue' }, { import = 'lazyvim.plugins.extras.lang.yaml' }, { import = 'lazyvim.plugins.extras.linting.eslint' }, { import = 'lazyvim.plugins.extras.test.core' }, { import = 'lazyvim.plugins.extras.ui.mini-animate' }, { import = 'lazyvim.plugins.extras.ui.treesitter-context' }, { import = 'lazyvim.plugins.extras.util.dot' }, { import = 'lazyvim.plugins.extras.util.mini-hipatterns' }, { import = 'lazyvim.plugins.extras.util.octo' }, { import = 'lazyvim.plugins.extras.util.project' }, { import = 'lazyvim.plugins.extras.util.rest' }, -- These need to be after extras to prevent extras from overwriting them. -- Disable mason.nvim while using Nix. { 'williamboman/mason-lspconfig.nvim', enabled = require('nixCatsUtils').lazyAdd(true, false), }, { 'williamboman/mason.nvim', enabled = require('nixCatsUtils').lazyAdd(true, false), }, { 'nvim-treesitter/nvim-treesitter', build = require('nixCatsUtils').lazyAdd(':TSUpdate'), opts_extend = require('nixCatsUtils').lazyAdd(nil, false), opts = { -- Disable parser installation while using Nix. ensure_installed = require('nixCatsUtils').lazyAdd({ 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'vim', 'vimdoc', }, false), auto_install = require('nixCatsUtils').lazyAdd(true, false), }, }, -- import/override with your plugins { import = 'plugins' }, }, lazyOptions )