mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 23:20:55 +00:00
plasma: handle ksycoca5 better
- Remove xdg-desktop-menu-dummy.menu kbuildsycoca5. Not sure why we need it but it is a pretty big failure if it exists. See issue #56176. - plasma: clear ksycoca cache before building This is needed to pick up on software removed since the last cache update. Otherwise it hangs around as zombies forever (or until the cache is cleared). - Add the above + the icon cache cleanup to plasmaSetup This will be run for the logged in user on each nixos-rebuild. Unfortunately this only works if you are managing software through nixos-rebuild (nix-env users need to run this manually, otherwise log out and log back in).
This commit is contained in:
parent
1847b85f15
commit
393b359f13
|
@ -226,7 +226,29 @@ in
|
|||
security.pam.services.slim.enableKwallet = true;
|
||||
|
||||
# Update the start menu for each user that is currently logged in
|
||||
system.userActivationScripts.plasmaSetup = "${pkgs.libsForQt5.kservice}/bin/kbuildsycoca5";
|
||||
system.userActivationScripts.plasmaSetup = ''
|
||||
# The KDE icon cache is supposed to update itself
|
||||
# automatically, but it uses the timestamp on the icon
|
||||
# theme directory as a trigger. Since in Nix the
|
||||
# timestamp is always the same, this doesn't work. So as
|
||||
# a workaround, nuke the icon cache on login. This isn't
|
||||
# perfect, since it may require logging out after
|
||||
# installing new applications to update the cache.
|
||||
# See http://lists-archives.org/kde-devel/26175-what-when-will-icon-cache-refresh.html
|
||||
rm -fv $HOME/.cache/icon-cache.kcache
|
||||
|
||||
# xdg-desktop-settings generates this empty file but
|
||||
# it makes kbuildsyscoca5 fail silently. To fix this
|
||||
# remove that menu if it exists.
|
||||
rm -fv $HOME/.config/menus/applications-merged/xdg-desktop-menu-dummy.menu
|
||||
|
||||
# Remove the kbuildsyscoca5 cache. It will be regenerated
|
||||
# immediately after. This is necessary for kbuildsyscoca5 to
|
||||
recognize that software that has been removed.
|
||||
rm -fv $HOME/.cache/ksycoca*
|
||||
|
||||
${pkgs.libsForQt5.kservice}/bin/kbuildsycoca5
|
||||
'';
|
||||
})
|
||||
];
|
||||
|
||||
|
|
|
@ -81,7 +81,7 @@ index 714a9bf1..9733c612 100644
|
|||
fi
|
||||
|
||||
# Boot sequence:
|
||||
@@ -33,61 +42,133 @@ fi
|
||||
@@ -33,61 +42,142 @@ fi
|
||||
#
|
||||
# * Then ksmserver is started which takes control of the rest of the startup sequence
|
||||
|
||||
|
@ -102,6 +102,15 @@ index 714a9bf1..9733c612 100644
|
|||
+# See http://lists-archives.org/kde-devel/26175-what-when-will-icon-cache-refresh.html
|
||||
+rm -fv $HOME/.cache/icon-cache.kcache
|
||||
+
|
||||
+# xdg-desktop-settings generates this empty file but
|
||||
+# it makes kbuildsyscoca5 fail silently. To fix this
|
||||
+# remove that menu if it exists.
|
||||
+rm -fv $HOME/.config/menus/applications-merged/xdg-desktop-menu-dummy.menu
|
||||
+
|
||||
+# Remove the kbuildsyscoca5 cache. It will be regenerated immediately after.
|
||||
+# This is necessary for kbuildsyscoca5 to recognize that software that has been removed.
|
||||
+rm -fv $HOME/.cache/ksycoca*
|
||||
+
|
||||
+# Qt writes a weird ‘libraryPath’ line to
|
||||
+# ~/.config/Trolltech.conf that causes the KDE plugin
|
||||
+# paths of previous KDE invocations to be searched.
|
||||
|
@ -721,7 +730,7 @@ diff --git a/startkde/startplasmacompositor.cmake b/startkde/startplasmacomposit
|
|||
index dd9e304d..12132f9e 100644
|
||||
--- a/startkde/startplasmacompositor.cmake
|
||||
+++ b/startkde/startplasmacompositor.cmake
|
||||
@@ -1,118 +1,165 @@
|
||||
@@ -1,118 +1,174 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
-# DEFAULT Plasma STARTUP SCRIPT ( @PROJECT_VERSION@ )
|
||||
|
@ -749,6 +758,15 @@ index dd9e304d..12132f9e 100644
|
|||
+# See http://lists-archives.org/kde-devel/26175-what-when-will-icon-cache-refresh.html
|
||||
+rm -fv $HOME/.cache/icon-cache.kcache
|
||||
+
|
||||
+# xdg-desktop-settings generates this empty file but
|
||||
+# it makes kbuildsyscoca5 fail silently. To fix this
|
||||
+# remove that menu if it exists.
|
||||
+rm -fv $HOME/.config/menus/applications-merged/xdg-desktop-menu-dummy.menu
|
||||
+
|
||||
+# Remove the kbuildsyscoca5 cache. It will be regenerated immediately after.
|
||||
+# This is necessary for kbuildsyscoca5 to recognize that software that has been removed.
|
||||
+rm -fv $HOME/.cache/ksycoca*
|
||||
+
|
||||
+# Qt writes a weird ‘libraryPath’ line to
|
||||
+# ~/.config/Trolltech.conf that causes the KDE plugin
|
||||
+# paths of previous KDE invocations to be searched.
|
||||
|
|
Loading…
Reference in a new issue