-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tracking issue for Paq 2.0 #149
Comments
fwiw, if/when Nvim includes a package manager I'm pretty convinced it will be based on paq because it's so small. Not sure the lockfile feature is needed though. |
@justinmk do you have a better/more sensible solution? The idea of the lockfile that represent the previous state seems a good idea, since would simplify a lot of the logic. Now is in a very primitive state but I think could become the foundation for better usability over the behavior that paq provide now. |
If it simplifies the logic then it's good :) Probably https://github.com/neovim/packspec should define |
Yes! If packages can define dependencies, there has to be a file that describes all the packages in the system. Otherwise it'll be hard for users to understand (let alone debug) their package setup. |
I was thinking that after 2.0 we could make install paq as a file into the For installing we could have a script that curl paq and the documentation into the apropriate spot. And for updating we could provide a simple script that compares the two files and updates to the new one and re-pulls the docs down. |
@savq I've implemented all the state management feature in the todolist but I wanted to ask if you agree with some of my decision regarding how I've handled the different scenario:
How it worksPaq at the when is called with the packages will confront the difference between the configuration and the lockfile (done with the Diff = {
[name] = {
-- ...pkg...
status = {TO_MOVE|TO_RECLONE}
}
} On every command ( After some testing I didn't found any major problems, but I think we should make a test suite for testing the edge cases. |
FWIW, as a user I agree with this design. If I've changed the branch, remote, or opt/start directory in my configuration, then I've asked for the changes. I shouldn't need extra confirmation. |
That's is fine for now. I believe there's a command that could work here, But I haven't tried it yet: git switch --force-create <branch> --track <remote>/<branch>
Yes. This should be the default. As telemachus said, if the user changed their config, then there's no need for confirmation.
I don't think this should be done on Everything else on |
Seem interesting I should take a look on that
As is for now we don't have a choice since if the diff is not resolved |
Why another plugin manager? - The intention was to migrate all plugin management to Packer. This effort was not yet done, some plugins are still installed with vim-plug. - Packer is no longer maintained, so migrating everything to this no longer makes sense. - Hence, another (Lua) plugin manager is required. Why Paq: - Paq is small and focused. It provides package management only, it doesn't try to be a full-on configuration framework. - If Neovim will ever have a built-in package manager, it will probably be based on paq: savq/paq-nvim#149 (comment) - The main alternative at the moment is lazy.nvim: https://github.com/folke/lazy.nvim - This one is really popular these days, the auther of Packer also moved to this plugin manager. - It tries to do a lot, including configuration management, and is very opniated. - lazy.nvim takes over all the plugin loading, overriding the default Neovim behavior, and making it impossible to use it besides other package manager. This makes migration difficult. - When I first tried it, it gave a lot of errors and I couldn't get it to work - Initial tests with Paq "just worked". It is easy to use, and doesn't get in your way. Maybe the simplicity and lack of popularity will become problematic at some point, but so far it's good.
Why another plugin manager? - The intention was to migrate all plugin management to Packer. This effort was not yet done, some plugins are still installed with vim-plug. - Packer is no longer maintained, so migrating everything to this no longer makes sense. - Hence, another (Lua) plugin manager is required. Why Paq: - Paq is small and focused. It provides package management only, it doesn't try to be a full-on configuration framework. - If Neovim will ever have a built-in package manager, it will probably be based on paq: savq/paq-nvim#149 (comment) - The main alternative at the moment is lazy.nvim: https://github.com/folke/lazy.nvim - This one is really popular these days, the auther of Packer also moved to this plugin manager. - It tries to do a lot, including configuration management, and is very opniated. - lazy.nvim takes over all the plugin loading, overriding the default Neovim behavior, and making it impossible to use it besides other package manager. This makes migration difficult. - When I first tried it, it gave a lot of errors and I couldn't get it to work - Initial tests with Paq "just worked". It is easy to use, and doesn't get in your way. Maybe the simplicity and lack of popularity will become problematic at some point, but so far it's good.
Why another plugin manager? - The intention was to migrate all plugin management to Packer. This effort was not yet done, some plugins are still installed with vim-plug. - Packer is no longer maintained, so migrating everything to this no longer makes sense. - Hence, another (Lua) plugin manager is required. Why Paq: - Paq is small and focused. It provides package management only, it doesn't try to be a full-on configuration framework. - If Neovim will ever have a built-in package manager, it will probably be based on paq: savq/paq-nvim#149 (comment) - The main alternative at the moment is lazy.nvim: https://github.com/folke/lazy.nvim - This one is really popular these days, the auther of Packer also moved to this plugin manager. - It tries to do a lot, including configuration management, and is very opniated. - lazy.nvim takes over all the plugin loading, overriding the default Neovim behavior, and making it impossible to use it besides other package manager. This makes migration difficult. - When I first tried it, it gave a lot of errors and I couldn't get it to work - Initial tests with Paq "just worked". It is easy to use, and doesn't get in your way. Maybe the simplicity and lack of popularity will become problematic at some point, but so far it's good.
State management and reproducibility
PaqSync
doesn't re-install plugins whenbranch
is changed #80Update code base
run_hook
. All hooks must be run afterpackloadall
.run
option tobuild
(soft deprecation).paq
export (has been deprecated since forever). Keepregister
.call_proc
. See log file (PaqLogOpen) interleaves logs from different jobs #123Release
CHANGELOG.md
The text was updated successfully, but these errors were encountered: