neovim: add 'autowrapRuntimeDeps' to append#358587
Conversation
1bc5420 to
48febca
Compare
48febca to
eeddd09
Compare
There was a problem hiding this comment.
Why having it opt-in? We already apply a wrapper to each plugin, no?
There was a problem hiding this comment.
I thought we might have it opt-in at first to get feedback,to update the plugins with their runtimeDeps as well. And in a second step we would make it opt-out. We coul opt-in straightaway as well, I dont mind.
There was a problem hiding this comment.
one issue with the opt-out is that it forces us to update the doc in a way that works with the legacy and new wrapper, which should be done but I am too lazy to do yet :'( I would rather document the new wrapper in another PR
There was a problem hiding this comment.
Could you remind me please where is documentation for the wrapper?
There was a problem hiding this comment.
I don't see a reason for changing plugins to use runtimeDeps in a subsequent PR. We can do it here to tackle problems before merging the feature. Unless you don't want to do this right now
But yeah, we can keep it opt-in for now, though I doubt someone would use opt-in undocumented features outside of [@]NixOS/neovim team
There was a problem hiding this comment.
if we stop patching the plugins because of this PR, then disabling autowrapRuntimeDeps would entail user regressions so you are right we might need to enable it by default straightaway. @mrcjkb would opt-out by default be okay with you ?
You might see regressions for some plugins where paths would stop being hardcoded. Mixing an apt neovim with a nix plugin would stop working for instance (contrary to today). I beliee it's fine to not support these scenarios since not patching plugins makes maintaining plugins easier, we better respect upstream and it means plugins work on neovim as on other distributions: you can override the dependencies without having to regenerate the whole system
eeddd09 to
95c8a16
Compare
plugin runtime dependencies. A recurrent question is how to make LSP work on nix, with users wanting to install masons etc. I think it makes sense for neovim to install neovim plugins in a way that they work out of the box. That's one of the strengths of nix and a shortcoming of the neovim infrastructure. We suffix the PATH instead of prepend such that project versions of the software takes precedence. It's opt-in for now to but worth revisiting later for the previous reasons.
95c8a16 to
2cda58e
Compare
|
the test Feel free to test it out thought it wont do much without updated plugins. The candidates could be:
Feel free to complete the list. |
Did you want us to add runtimeDeps to the packages in this PR or just add notes about other possible updates? |
|
Until we coordinate with vim such that they do the same as us, we should use autowrapRuntimeDeps for neovim plugins exclusively OR to add software we dont patch already, like the LSP servers. We can unpatch plugins later if nixpkgs vim maintainers agree, discussion at: #352738 (comment) I am tempted to merge under these conditions what do you think ? |
I think it's an improvement to allow wrapping runtime deps instead of patching. Even if we don't handle all occurrences immediately. |
|
let's add it to one or two plugins, if that works, we default to true and mention it in doc + 25.04 changelog. |
Fix #352738
TLDR, adds runtime dependencies of vim plugins to the neovim wrapper PATH
I based it upon #356271 which hopefully will get merged
Things done
nix.conf? (See Nix manual)sandbox = relaxedsandbox = truenix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)Add a 👍 reaction to pull requests you find important.