about summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorK900 <me@0upti.me>2024-03-02 15:21:39 +0300
committerGitHub <noreply@github.com>2024-03-02 15:21:39 +0300
commit57746ceea592f88f1b7f847a9b724c2429540ef7 (patch)
treeee3571616f3179bf2daf365520b0b6f53d4b80d8 /nixos
parent728f9c3613eeeec3b41b28b03cefe13659e39477 (diff)
parentd7a4bf599859b259331d5b25abaf93568846283c (diff)
Merge pull request #292748 from K900/sycoca-oof
nixos/plasma6: nuke sycoca on activation
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma6.nix14
1 files changed, 14 insertions, 0 deletions
diff --git a/nixos/modules/services/x11/desktop-managers/plasma6.nix b/nixos/modules/services/x11/desktop-managers/plasma6.nix
index 8d84c5a7431b0..1237261e0af7b 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma6.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma6.nix
@@ -10,6 +10,11 @@
 
   inherit (pkgs) kdePackages;
   inherit (lib) literalExpression mkDefault mkIf mkOption mkPackageOptionMD types;
+
+  activationScript = ''
+    # will be rebuilt automatically
+    rm -fv $HOME/.cache/ksycoca*
+  '';
 in {
   options = {
     services.xserver.desktopManager.plasma6 = {
@@ -273,5 +278,14 @@ in {
     };
 
     programs.kdeconnect.package = kdePackages.kdeconnect-kde;
+
+    # FIXME: ugly hack. See #292632 for details.
+    system.userActivationScripts.rebuildSycoca = activationScript;
+    systemd.user.services.nixos-rebuild-sycoca = {
+      description = "Rebuild KDE system configuration cache";
+      wantedBy = [ "graphical-session-pre.target" ];
+      serviceConfig.Type = "oneshot";
+      script = activationScript;
+    };
   };
 }