-
-
Notifications
You must be signed in to change notification settings - Fork 14.6k
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
glib: follow profile updates when searching apps #118100
glib: follow profile updates when searching apps #118100
Conversation
Result of 830 packages marked as broken and skipped:
16218 packages skipped due to time constraints:
31 packages built successfully:
Result of 735 packages marked as broken and skipped:
18126 packages skipped due to time constraints:
34 packages built successfully:
8 suggestions:
|
/rebase staging |
GNOME Shell monitors XDG_DATA_DIRS for changes using inotify for the purpose of updating the list of applications displayed in the overview as they are installed or removed. Because the relevant directories are symlinks under NixOS and are swapped on change, Shell never notices it. To remedy this, also monitor various profile directories to signal an update whenever profiles are changed. This uses a patch from Guix, slightly modified to also encompass user environment profiles (/etc/profiles/per-user/$USER) in addition to the system profile (/nix/var/nix/profiles/system) as well as regular user profiles (/nix/var/nix/profiles/per-user/$USER/profile).
5fa0051
to
5b3f9e0
Compare
Rebased, please reopen the pull request to restart CI |
I marked this as stale due to inactivity. → More info |
Any updates on this? This is the only reason I do not use GNOME on NixOS, and would really like to see some action on this issue. |
Seems to me that the patch is a little limited? It doesn't work with home-manager, would it not be better to special-case all links to /nix instead of special-casing system and user profiles? |
maybe the solution is to check here if the directory it wants to watch is a symlink to /nix, and if so, pass |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/required-nix-gnome-tweaks-hacks/20711/3 |
Motivation for this change
GNOME Shell monitors XDG_DATA_DIRS for changes using inotify for the
purpose of updating the list of applications displayed in the overview
as they are installed or removed. Because the relevant directories are
symlinks under NixOS and are swapped on change, Shell never notices it.
To remedy this, also monitor various profile directories to signal an
update whenever profiles are changed.
This uses a patch from Guix, slightly modified to also encompass user
environment profiles (/etc/profiles/per-user/$USER) in addition to the
system profile (/nix/var/nix/profiles/system) as well as regular user
profiles (/nix/var/nix/profiles/per-user/$USER/profile).
Fixes #12757
Known limitation: On installations to /etc/profiles/per-user, the list of applications gets updated, but Shell fails to find the icons for new applications. This is the case when installing them declaratively through home-manager's NixOS module. Other methods, such as ad-hoc via nix-env/nix profile install work fine.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)