So, while the system-wide applications weren't being detected, I tried to test 
whether applications installed through `guix install` would be detected or not.

# removed chromium from the system installation, then:
$ guix install ungoogled-chromium

$ ls ~/.guix-profile/share/applications
chromium.desktop

After a system reboot, not only chromium was already pinned to the taskbar, but 
other system-wide applications (like Firefox) also started showing up in the 
application runners!

In order to test the pattern further, I uninstalled chromium. After system 
reboot, Firefox also stopped showing up in the application runners. For some 
reason, KDE detects system-wide applications only if there is something 
installed in the user's guix profile (or if the user's guix profile is properly 
set up?).

I even tested this by installing only a non-GUI app with a .desktop file - 
neovim - through `guix install`. Same result.

I am not sure what's going on here. Any explanation would be appreciated.

Here is the order of dirs in $XDG_DATA_DIRS without anything installed in 
user's guix profile:
$ echo $XDG_DATA_DIRS | sed 's/:/\n/g' | head -3
/home/bhoot/.config/guix/current/share 
/run/current-system/profile/share 
/gnu/store/4q4ji4g7xzkbvmqa5dn1jr68kp9dydvh-plasma-workspace-6.
1.4/share

and the order in $XDG_DATA_DIRS after installing something in user's guix 
profile:
$ echo $XDG_DATA_DIRS | sed 's/:/\n/g' | head -3
/home/bhoot/.config/guix/current/share
/home/bhoot/.guix-profile/share
/run/current-system/profile/share

Regards,
Jayesh Bhoot

On Mon, 19 May 2025, at 12:23, Jayesh Bhoot wrote:
> Hello,
> 
> =======
> Problem
> =======
> 
> None of the applications I installed are picked up by the KDE desktop's 
> application runners - KRunner and Kickoff launcher.
> 
> ==============================
> How I've installed my packages
> ==============================
> 
> I've specified the applications in the system's os.scm:
> 
> (packages
>   (append
>    (specifications->packages
>     (list
>      "ark"
>      "emacs"
>      "kmousetool"
>      ;; others
>      ))
>    %base-packages))
> 
> So that they are installed along with the command:
> 
> $ sudo guix system reconfigure safed-hathi/os.scm.
> 
> ==================================
> ~/.guix-profile lookup didn't work
> ==================================
> 
> I found a Guix Help thread 
> (https://lists.gnu.org/archive/html/help-guix/2020-02/msg00007.html) which 
> suggested to check if the *.desktop files are located in 
> ~/.guix-profile/share/applications/. But, ~/.guix-profile does not have that 
> structure at all in my system:
> 
> $ ls -la ~/.guix-profile  
> lrwxrwxrwx 1 bhoot users 46 May 12 22:23 */home/bhoot/.guix-profile* -> 
> /var/guix/profiles/per-user/bhoot/guix-profile
> 
> Source of the link does not exist though:
> 
> $ ls /var/guix/profiles/per-user/bhoot/guix-profile
> ls: cannot access '/var/guix/profiles/per-user/bhoot/guix-profile': No such 
> file or directory
> 
> But an empty lock file does exist:
> 
> $ ls /var/guix/profiles/per-user/bhoot/guix-profile.lock  
> /var/guix/profiles/per-user/bhoot/guix-profile.lock
> $ cat /var/guix/profiles/per-user/bhoot/guix-profile.lock
> $
> 
> I even tried to search for *.desktop files in the whole user dir, but in vain:
> 
> $ find /var/guix/profiles/per-user/bhoot/ -name '*.desktop'
> $
> 
> ========================================================
> *.desktop files in system-wide profile are not picked up
> ========================================================
> 
> I then looked for the .desktop files in the system directories and found 
> their symlinks inside /run/current-system/profile/share/applications/*.
> 
> This directory has .desktop files for system-default applications:
> 
> $ find -L /run/current-system -wholename '*applications/*.desktop' | grep 
> konsole
> /run/current-system/profile/share/applications/org.kde.*konsole*.desktop
> 
> as well as for applications I explicitly installed:
> 
> $ find -L /run/current-system -wholename '*applications/*.desktop' | grep 
> emacs
> /run/current-system/profile/share/applications/*emacs*.desktop
> 
> But the user-installed apps are not picked up by either krunner of Kickoff 
> launcher.
> 
> Any pointers are appreciated.
> 
> Regards,
> Jayesh Bhoot

Reply via email to