-- Source: https://github.com/BirdeeHub/nixCats-nvim/blob/main/templates/example/lua/nixCatsUtils/catPacker.lua --[[ This directory is the luaUtils template. You can choose what things from it that you would like to use. And then delete the rest. Everything in this directory is optional. --]] local M = {} -- NOTE: This function is for defining a paq.nvim fallback method of downloading plugins -- when nixCats was not used to install your config. -- If you only ever load your config using nixCats, you don't need this file. -- it literally just only runs it when not on nixCats -- all neovim package managers that use the regular plugin loading scheme -- can be used this way, just do whatever the plugin manager needs to put it in the -- opt directory for lazy loading, and add the build steps so that when theres no nix the steps are ran function M.setup(v) if not vim.g[ [[nixCats-special-rtp-entry-nixCats]] ] then local function clone_paq() local path = vim.fn.stdpath("data") .. "/site/pack/paqs/start/paq-nvim" local is_installed = vim.fn.empty(vim.fn.glob(path)) == 0 if not is_installed then vim.fn.system({ "git", "clone", "--depth=1", "https://github.com/savq/paq-nvim.git", path }) return true end end local function bootstrap_paq(packages) local first_install = clone_paq() vim.cmd.packadd("paq-nvim") local paq = require("paq") if first_install then vim.notify("Installing plugins... If prompted, hit Enter to continue.") end paq(packages) paq.install() end bootstrap_paq(vim.list_extend({ "savq/paq-nvim" }, v)) end end return M