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
Add ability to use flatpak-spawn to call nvim when running from a flatpak container #2397
base: main
Are you sure you want to change the base?
Conversation
Thank you, this is great! The changes themselves look good, but I'm holding off with merging, until it's clear that we get an exception to be allowed to launch nvim. Preferably, we should also be able to launch a custom binary through that, but I'm not sure if the potential exception will allow us to do that. Do you need help with the application for it? I also, saw that you need a better project description, I opened a discussion for that in our discord channel, so hopefully we will be able to provide you with something soon. |
Hi @fredizzimo, thanks for your reply. I'd love to contribute to making flatpak-ed neovide a reality. As you can see from the referenced Flathub PR, they are asking for lot's of changes. Most I can do myself, others will need Neovide maintainers. If you can help with the application to get approval for launching binaries on the host, that would be great. I've been playing around with my own build for the past couple days and it's been pretty nice. Here are some of my observations:
Going forward, perhaps it would make sense for me to open a parent issue for tracking the tasks involved in getting neovide published to Flathub. This issue would become one of its subtasks. What do you think? I'd be happy to get the ball rolling. Edit: I've gone ahead and opened that issue (#2412) I propose we continue the discussion there. |
Update: Following some feedback from a Flathub maintainer, it was suggested that the flatpak Neovide should still work when the host doesn't have neovim installed (or it just isn't accessible from the container for some reason). |
I will look at the other issues a bit later, but just quick comment for now Notice that you will need some other dependencies as well, at least some of the provider ones: Without at least the clipboard integration, copy and paste from the system clipboard won't work. I think that should be the bare minimum. I think we also need to update the documentation, with info that running shell commands, the built-in terminal and LSP integration won't work without an externally installed nvim, since the bundled nvim won't know to use flatpak-spawn for those. |
@fredizzimo I already added a clipboard provider in the latest manifest which you can try out by following by installing the test build: As for the other provider they seem to work out of the box (although that obviously won't be the case with the sandboxed neovim) |
Is a bundled copy of neovim correct here? That would be 120mb of data that for most uses doesn't actually get run and also includes many small files that can slow down the unpacking/unzipping steps that I presume flatpak uses. I don't personally use flatpak/flathub so I don't have a good sense for what the expected behavior would be. Just figured I'd ask |
I agree, it does not look like they requested to embed Neovim, just to make it more clear in the description that it's required. Perhaps we could even improve our error message when running from Flatpaks? I think we also need to be able to launch the flatpak version of Neovim if the terminal one is not available. And that should be preferred even if we embed it. Is that possible? Edit:, I think it should try to launch the flatpak version even if the terminal one is available, but the flatpak version is newer. The use case for this is distribution where Neovim is installed but out of date, and no newer version is available. In those cases, most of these users will go to look for a flatpak version of Neovim. |
Add ability to use flatpak-spawn to call nvim when running from a flatpak container.
I've also opened a pr for flathub that points to my own build for now: flathub/flathub#5017
What kind of change does this PR introduce?
Did this PR introduce a breaking change?