Hi Giovanni, Am Donnerstag, dem 28.04.2022 um 17:59 +0200 schrieb Giovanni Biscuolo: > [...] > > # set XDG_DATA_DIRS to include Guix installations > > export XDG_DATA_DIRS="$GUIX_PROFILE/share:${XDG_DATA_DIRS:- > > /usr/local/share/:/usr/share/}" > > --8<---------------cut here---------------end--------------->8--- > > > > It even set XDG_DATA_DIRS, which should allow integration with the > > GNOME Shell and other graphical dashboards. > > No: this does not work, for three reasons: > > 1. AFAIU "/etc/profile.d/guix.sh" or "~/.profile" are not > sourced/executed in a graphical session (graphical shell?), we need > to ~/.xsessionrc to configure that environment: am I wrong? Depends on your setup. Some systemd setups don't source it, but note that you can work around that by editing the offending file. More importantly...
> 2. XDG_DATA_DIRS gets someway hard reset by "something" to this > value: > > XDG_DATA_DIRS=/usr/local/share:/usr/share:/usr/share/gdm:/var/lib/men > u-xdg:/usr/local/share/:/usr/share/:/usr/share/gdm/:/var/lib/menu- > xdg/ I would investigate what actually "resets" this. If it survives XDG_DATA_DIRS=blah $SHELL, then it's in the stuff your shell sources. If it doesn't, then you probably just experience (1). > (I found workaround, see below) > > 3. desktop menus (I tested LXDE and Mate, not Gnome Shell) are not > updated We hacked our Gnome Shell package to do this on Guix – naturally this won't work for foreign systems or other packages. > [...] > The main point of this workaround is that I configure XDG_DATA_HOME, > described in the specifications: And that is evil. > [...] > Anyway to make the new installed *.desktop files appear in the menu, > I have to logout and login again: I've still not found a command (or > configuration) to update the menu, "xdg-desktop-menu forceupdate" > does not work. Should it? It might only honor XDG_DATA_DIRS and ignore XDG_DATA_HOME by accident. Other than that, restarting your shell (if running on X) might be a more lightweight way of refreshing the menu. Cheers