Fix quickshell Qt5Compat with proper wrapper script

- Replace complex overrideAttrs with simple wrapper script
- Directly set QML2_IMPORT_PATH to include Qt5Compat QML modules
- This ensures Qt5Compat.GraphicalEffects is always available
This commit is contained in:
Celes Renata
2025-08-09 23:36:02 -07:00
parent 9e5a394b54
commit 1601f5c85f
+4 -14
View File
@@ -24,20 +24,10 @@
{
overlays.default = final: prev: {
# Enhanced quickshell with Qt5Compat support for dots-hyprland
quickshell = quickshell.packages.${system}.default.overrideAttrs (oldAttrs: {
# Add Qt5Compat as a runtime dependency
buildInputs = (oldAttrs.buildInputs or []) ++ [ final.qt6.qt5compat ];
# Use Qt's wrapper to ensure QML modules are found
nativeBuildInputs = (oldAttrs.nativeBuildInputs or []) ++ [ final.qt6.wrapQtAppsHook ];
# Set up QML import paths properly using QML2_IMPORT_PATH (the correct variable)
preFixup = (oldAttrs.preFixup or "") + ''
qtWrapperArgs+=(
--prefix QML2_IMPORT_PATH : "${final.qt6.qt5compat}/lib/qt-6/qml"
)
'';
});
quickshell = final.writeShellScriptBin "qs" ''
export QML2_IMPORT_PATH="${final.qt6.qt5compat}/lib/qt-6/qml:$QML2_IMPORT_PATH"
exec ${quickshell.packages.${system}.default}/bin/qs "$@"
'';
};
packages.${system} = utilityPackages // {