From 81b215a6ad45c313fb1b8adaf45df5754652e39d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alice=20=E2=9C=A8=F0=9F=8C=99=20Luna?= Date: Fri, 23 Jan 2026 19:00:27 +0100 Subject: [PATCH] quickshell: fix unneccessary reloads When running quickshell, the application reloads itself whenever files change on disk that quickshell loaded. When using e.g. github:noctalia-dev/noctalia-shell which is run by quickshell, the application reloads when `nix flake update` or `sudo nixos-rebuild switch` is used. This behavior can be prevented if nix store paths are ignored whenever files are changed on disk. --- .../0001-fix-unneccessary-reloads.patch | 23 +++++++++++++++++++ pkgs/by-name/qu/quickshell/package.nix | 3 +++ 2 files changed, 26 insertions(+) create mode 100644 pkgs/by-name/qu/quickshell/0001-fix-unneccessary-reloads.patch diff --git a/pkgs/by-name/qu/quickshell/0001-fix-unneccessary-reloads.patch b/pkgs/by-name/qu/quickshell/0001-fix-unneccessary-reloads.patch new file mode 100644 index 000000000000..85d4a74b9ad5 --- /dev/null +++ b/pkgs/by-name/qu/quickshell/0001-fix-unneccessary-reloads.patch @@ -0,0 +1,23 @@ +diff --git a/src/core/generation.cpp b/src/core/generation.cpp +index c68af71..4967562 100644 +--- a/src/core/generation.cpp ++++ b/src/core/generation.cpp +@@ -172,12 +172,18 @@ void EngineGeneration::setWatchingFiles(bool watching) { + if (this->watcher == nullptr) { + this->watcher = new QFileSystemWatcher(); + ++ // note: not using canonicalFilePath() here on purpose, ++ // since the path could be a link to the nix store ++ // and the link might change ++ + for (auto& file: this->scanner.scannedFiles) { ++ if (file.startsWith("/nix/store/")) continue; + this->watcher->addPath(file); + this->watcher->addPath(QFileInfo(file).dir().absolutePath()); + } + + for (auto& file: this->extraWatchedFiles) { ++ if (file.startsWith("/nix/store/")) continue; + this->watcher->addPath(file); + this->watcher->addPath(QFileInfo(file).dir().absolutePath()); + } diff --git a/pkgs/by-name/qu/quickshell/package.nix b/pkgs/by-name/qu/quickshell/package.nix index dbbe5f9ce567..99ae46582a50 100644 --- a/pkgs/by-name/qu/quickshell/package.nix +++ b/pkgs/by-name/qu/quickshell/package.nix @@ -32,6 +32,9 @@ stdenv.mkDerivation (finalAttrs: { tag = "v${finalAttrs.version}"; hash = "sha256-e++Ogy91Sv7gGLMdAqZaBzbH/UmPWZ4GAt7VDCA66aU="; }; + patches = [ + ./0001-fix-unneccessary-reloads.patch + ]; nativeBuildInputs = [ cmake