-
-
Notifications
You must be signed in to change notification settings - Fork 14.5k
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
DEs probably shouldn't link /share
#47173
Comments
For example, here are the things in
Obviously not exhaustive, but it's a lot of stuff. |
As an i3 user, I support the initiative. How to proceed then ? should we move |
Ideally, packages should not rely on global state. If they do, fix should be attempted first. See deadbeef, for an example how to how to use plug-ins without global state. |
Looking at https://www.freedesktop.org/wiki/Specifications/, we need at least |
I think packages should only link paths if they expect contributions from other packages at runtime, otherwise they shouldn't. It would probably help to make the description of
We should be moving We should probably have a more general I think we also want a gtk module, and maybe something for gsettings-schemas? |
Indeed – packages should be able to load their own data from the prefix that was set during compilation. Only packages that need to be loaded by many other apps should be linked to system path. It might be fine to use global plug-in directory for packages that support plug-ins temporarily, but eventually, they should be ported to a wrapper with
Yes, the AppStream specification has a legacy path that would need to be supported as well.
Those are not a Freedesktop standard but, you are right, we might want to support them. Though on the latter, I keep alternating between accepting that schemas were designed to be global data, and my hate of global state and wanting to eliminate it. Also, this issue seems to be missing a link to the original freedesktop module: #45058 |
Yeah, I think we should have modules for stuff that is global state, regardless of whether we like it or not. At the moment we're just hackily handling it elsewhere. One thing I don't like about this whole situation is that it's done with nixos modules so we end up with differences to what gets installed if you use |
I've become much more ambivalent about this. Wanting additional directories in Given that |
My main point is that if applications rely on their data being linked into a profile, they may subtly break when the app is not installed – for example, when running the built expression from |
Hm, that does seem like a good reason to at least wrap the program with a local extension of |
Well, if it expects data from other packages, it should accept them as argument, see, for example, https://github.com/NixOS/nixpkgs/blob/e7ff7b93180b5dc3669c8c862fd78d490115a7f0/pkgs/applications/graphics/gimp/wrapper.nix |
For GNOME:
|
This comment has been minimized.
This comment has been minimized.
This issue has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/out-share-linked-with-nix-profile-install-but-not-otherwise/27561/1 |
This issue has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/how-to-set-up-a-gtk3-theme-thats-not-in-the-nix-pkgs/28969/3 |
This issue has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/missing-links-in-run-current-system-sw-share/42804/2 |
Issue description
A lot of the DEs (gnome, lumina, lxqt, mate, plasma5) put
/share
intoenvironment.pathsToLink
. While this is a reasonable thing to want, really the responsibility for linking relevant paths should belong with modules associated with those paths. e.g. the SDDM modules should link/share/sddm
. DEs should only link for the applications they're responsible for (e.g. all the KDE apps in plasma5).As it is, if a package only works properly because it's covered by the blanked linking of
/share
, it won't work in a DE that doesn't do this or without a DE. So it masks problems.However, getting rid of it may be painful as it will likely reveal many such problems.
The text was updated successfully, but these errors were encountered: