From fd11b48fa9551b8c8b40d72c6e9b78ecb04c45a2 Mon Sep 17 00:00:00 2001 From: Hektor Misplon Date: Mon, 5 May 2025 22:40:40 +0200 Subject: [PATCH] Set up nvim package manager --- .config/nvim/init.lua | 1 + .config/nvim/lua/paq-setup.lua | 37 ++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 .config/nvim/lua/paq-setup.lua diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index df3c0b7..809457e 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -2,3 +2,4 @@ require("vim") require("ftdetect") require("keymaps") require("highlight") +require("paq-setup") diff --git a/.config/nvim/lua/paq-setup.lua b/.config/nvim/lua/paq-setup.lua new file mode 100644 index 0000000..3e29a5c --- /dev/null +++ b/.config/nvim/lua/paq-setup.lua @@ -0,0 +1,37 @@ +-- Automate paq installation {{{ +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 + +vim.api.nvim_create_autocmd("VimEnter", { + once = true, + callback = function() + local pkgs_count = #require("paq").query("to_install") + if pkgs_count < 1 then + return + end + vim.notify(string.format("There are %d to install", pkgs_count)) + end, +}) + +-- }}} + +-- Set up paq plugins {{{ +bootstrap_paq({ + { "savq/paq-nvim" }, +-- }}}