Subject: Re: bug#44997: Flatpaks are invisible to application launchers

From: Danny Milosavljevic <[email-masked]>
Date: Sun, 18 May 2025 13:36:58 +0200

Hi,

>Is it possible there now is a solution that does not incorporate adding search paths to the package?

I've just put the following line in ~/.bash_profile (which is generated by guix-home in my case--but it doesn't matter much):

. ~/.guix-home/profile/etc/profile.d/flatpak.sh

It works fine (in sway on Wayland, using nwggrid).  I'm using flatpak quite a bit.

You could also put it in ~/.profile .

>Because if there isn't, I don't see why the package should not be altered in order to just export those paths -- it seems like a solution that is much cleaner than me exporting them in shell init files or in the guix home environment.

I used to think that, but nowadays I prefer when it's me exporting them in a shell init file.  The guix home installer could just automatically add the command (see above) to a (managed or not) bash_profile (and some disgruntled users can remove it again ;) ).

Also, if we would set native-search-paths in a guix package, we could only set it to refer to some file within a guix package.  And ${HOME}/.local/share/flatpak is not within any guix package.

We could do it in a profile hook--but that would mean we'd have to have a flatpak profile hook and guix would ALWAYS have to check flatpak--even if the user doesn't use flatpak.  It would be possible--but I don't think we want to have a hard-coded dependency on flatpak in all cases.

Also, auto-exporting XDG_DATA_DIRS would take control from the user (which order should the XDG_DATA_DIRS environment variable be amended in--and thus which package source should be preferred?).

In summary, we are trying to be modular and this XDG_DATA_DIRS=/home/xx/random_directory is NOT modular.  flatpak needs it for its own stuff--but it doesn't have an activate script.  The flatpak.sh is the closest thing, kinda like a venv activate script.  Why not use it?

That said, I haven't used GNOME in a very long time.  For all I know they could not load ~/.bash_profile in the first place or something... (that would be dumb)