Hello,
I’m facing an issue where applications installed via GNU Guix do not appear in the GNOME Shell App Launcher, even though the $XDG_DATA_DIRS environment variable is set correctly and includes the Guix profile path.
The crucial finding is that the applications only appear when my login shell is set to Bash. If I switch my login shell to Zsh (using a standard .zprofile setup), the applications do not appear.
Key Points:
- Bash works: Guix apps show up when my login shell is set to
bash. - Zsh fails: Guix apps disappear when my login shell is set to
zsh. - Variable is correct: I have verified inside the running GNOME session that
$XDG_DATA_DIRScorrectly includes/home/lamby/.guix-profile/share/in both cases. - Expected error: I receive a “Read-only file system” error when running
update-desktop-databaseon the Guix path, which is normal for Guix.
My Question:
Why would GNOME Shell successfully read the .desktop files when the session starts via a Bash login, but fail to do so when the session starts via a Zsh login, despite the environment variable being correct in both resulting sessions?
Is there a known issue with how GDM/GNOME sources environment files specifically when Zsh is the login shell, or a known incompatibility between Zsh and the standard Guix environment setup that affects GNOME’s application scanning?
Thank you for any insight!