diff options
author | Peter Hoeg <peter@hoeg.com> | 2018-07-09 14:51:05 +0800 |
---|---|---|
committer | Peter Hoeg <peter@hoeg.com> | 2018-07-09 14:51:05 +0800 |
commit | cd4e54b3a11451fd5e03297790b3d3a00a08e188 (patch) | |
tree | 1f0c68e77c09b15e185f0b006bc6b8ec137fb9b6 /nixos/modules/services/x11/display-managers/sddm.nix | |
parent | 2a8a5533d18b22ed983a1fe526ec16b801cbcd97 (diff) | |
download | nixpkgs-cd4e54b3a11451fd5e03297790b3d3a00a08e188.tar nixpkgs-cd4e54b3a11451fd5e03297790b3d3a00a08e188.tar.gz nixpkgs-cd4e54b3a11451fd5e03297790b3d3a00a08e188.tar.bz2 nixpkgs-cd4e54b3a11451fd5e03297790b3d3a00a08e188.tar.lz nixpkgs-cd4e54b3a11451fd5e03297790b3d3a00a08e188.tar.xz nixpkgs-cd4e54b3a11451fd5e03297790b3d3a00a08e188.tar.zst nixpkgs-cd4e54b3a11451fd5e03297790b3d3a00a08e188.zip |
sddm: use tmpfiles.d to wipe QML cache
Diffstat (limited to 'nixos/modules/services/x11/display-managers/sddm.nix')
-rw-r--r-- | nixos/modules/services/x11/display-managers/sddm.nix | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix index 8db7414e811..426b899586f 100644 --- a/nixos/modules/services/x11/display-managers/sddm.nix +++ b/nixos/modules/services/x11/display-managers/sddm.nix @@ -19,17 +19,6 @@ let Xsetup = pkgs.writeScript "Xsetup" '' #!/bin/sh - - # Prior to Qt 5.9.2, there is a QML cache invalidation bug which sometimes - # strikes new Plasma 5 releases. If the QML cache is not invalidated, SDDM - # will segfault without explanation. We really tore our hair out for awhile - # before finding the bug: - # https://bugreports.qt.io/browse/QTBUG-62302 - # We work around the problem by deleting the QML cache before startup. It - # will be regenerated, causing a small but perceptible delay when SDDM - # starts. - rm -fr /var/lib/sddm/.cache/sddm-greeter/qmlcache - ${cfg.setupScript} ''; @@ -285,5 +274,20 @@ in # To enable user switching, allow sddm to allocate TTYs/displays dynamically. services.xserver.tty = null; services.xserver.display = null; + + systemd.tmpfiles.rules = [ + # Prior to Qt 5.9.2, there is a QML cache invalidation bug which sometimes + # strikes new Plasma 5 releases. If the QML cache is not invalidated, SDDM + # will segfault without explanation. We really tore our hair out for awhile + # before finding the bug: + # https://bugreports.qt.io/browse/QTBUG-62302 + # We work around the problem by deleting the QML cache before startup. + # This was supposedly fixed in Qt 5.9.2 however it has been reported with + # 5.10 and 5.11 as well. The initial workaround was to delete the directory + # in the Xsetup script but that doesn't do anything. + # Instead we use tmpfiles.d to ensure it gets wiped. + # This causes a small but perceptible delay when SDDM starts. + "e ${config.users.users.sddm.home}/.cache - - - 0" + ]; }; } |