Coder Social home page Coder Social logo

Comments (3)

bbhtt avatar bbhtt commented on July 20, 2024

This seems more like a feature request for flatpak, than Flathub. Some of the shortcomings are already known, though.

As a solution, I propose that there's a proper, extended no sandboxing mode that will 1. merge PATH such that maybe the stuff inside the flatpak filesystem is secondary, and everything from the outside PATH is preferred, 2. set and use all the XDG config, cache, socket, whatever dirs from the outside system including /tmp and such, 3. whatever else I may have forgotten that is needed to make most of the "outside" tooling work.

You have to ask this in flatpak, it has been asked already in various forms like flatpak/flatpak#2742. Given the primary objective of flatpak is to provide sandboxing and how it is set up, I have doubts if anyone will be interested in a "no-sandbox" mode.

set and use all the XDG config, cache

You can already do this by --filesystem=xdg-{config, cache, data}

system including /tmp

You can already do this by --filesystem=/tmp

merge PATH such that maybe the stuff inside the flatpak filesystem is secondary

This won't be possible, the paths inside the sandbox will collide with system. You can get access to "most" of host by passing --filesystem=host-os, then /usr/bin from host is in /run/host/usr/bin in the flatpak.

  1. unusual LSPs (no flatpak extension image stuff can ever solve that because there's always another one that nobody thought of, it doesn't scale), 2. unusual extra tools people may want to use in the IDE terminal like different style checkers or formatters, 3. different build tools people may want to use in the IDE terminal that aren't the usual ones used for that programming language

This is either having them as extension or in the runtime or using flatpak-spawn, see below.

Right now,

You can ask in https://gitlab.com/freedesktop-sdk/freedesktop-sdk for a "common" extension point for all development tools and create an extension based on that extension point on Flathub that'll include language servers, CLI tools etc. This will not only be useful to Kate, but also to all the other IDEs on Flathub that share the same need.

The other part is launching arbitrary commands that are not included in the flatpak package. For that, as you can see, Kate already has https://github.com/flathub/org.kde.kate/blob/66cbd6ca5359569f892acc9fedbe00cacebd47ab/org.kde.kate.json#L16 flatpak-spawn permission as does many other IDEs on Flathub. With that, you can run a command installed on the host by prefixing it with flatpak-spawn --host command.

from flathub.

ell1e avatar ell1e commented on July 20, 2024

You can ask in https://gitlab.com/freedesktop-sdk/freedesktop-sdk for a "common" extension point for all development tools and create an extension based on that extension point on Flathub that'll include language servers

This really doesn't scale, and is also useless for niche languages and unusual tooling if I understand correctly how it works.

I meant to file this in the flatpak repo actually and just accidentally picked the wrong one 😂 my apologies.

from flathub.

bbhtt avatar bbhtt commented on July 20, 2024

For languages, there is already an SDK extension point https://github.com/flathub?q=org.freedesktop.Sdk.Extension&type=all&language=&sort=

I meant to file this in the flatpak repo actually and just accidentally picked the wrong one 😂 my apologies.

Ok let's close this then

from flathub.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.