Use symlinkJoin to wrap quickshell

This commit is contained in:
Celes Renata
2025-12-12 13:46:27 -08:00
parent 18b50c2010
commit fed3758a2c
+15 -14
View File
@@ -26,20 +26,21 @@
{ {
overlays.default = final: prev: { overlays.default = final: prev: {
# Enhanced quickshell wrapper with Qt5Compat support for dots-hyprland # Enhanced quickshell wrapper with Qt5Compat support for dots-hyprland
quickshell = final.writeShellScriptBin "quickshell" '' # Wraps the quickshell from nixpkgs (which must already be in prev)
# Add Qt5Compat, QtPositioning, and quickshell config directories to QML import path quickshell = if prev ? quickshell then
export QML2_IMPORT_PATH="${final.kdePackages.qt5compat}/lib/qt-6/qml:${final.kdePackages.qtpositioning}/lib/qt-6/qml:${final.kdePackages.qtlocation}/lib/qt-6/qml:$HOME/.config/quickshell/ii:$HOME/.config/quickshell:$QML2_IMPORT_PATH" final.symlinkJoin {
name = "quickshell-wrapped";
# Set critical environment variables for dots-hyprland functionality paths = [ prev.quickshell ];
export ILLOGICAL_IMPULSE_VIRTUAL_ENV="$HOME/.local/state/quickshell/.venv" buildInputs = [ final.makeWrapper ];
export XDG_DATA_DIRS="$XDG_DATA_DIRS:${final.gsettings-desktop-schemas}/share" postBuild = ''
wrapProgram $out/bin/quickshell \
# Ensure child processes (execDetached) have access to system libraries for Python virtual environment --prefix QML2_IMPORT_PATH : "${final.kdePackages.qt5compat}/lib/qt-6/qml:${final.kdePackages.qtpositioning}/lib/qt-6/qml:${final.kdePackages.qtlocation}/lib/qt-6/qml:$HOME/.config/quickshell/ii:$HOME/.config/quickshell" \
export LD_LIBRARY_PATH="${final.stdenv.cc.cc.lib}/lib:${final.glibc}/lib:${final.zlib}/lib:${final.libffi}/lib:${final.openssl}/lib:${final.bzip2.out}/lib:${final.xz.out}/lib:${final.ncurses}/lib:${final.readline}/lib:${final.sqlite.out}/lib:$LD_LIBRARY_PATH" --set ILLOGICAL_IMPULSE_VIRTUAL_ENV "$HOME/.local/state/quickshell/.venv" \
--prefix XDG_DATA_DIRS : "${final.gsettings-desktop-schemas}/share" \
# Execute quickshell from nixpkgs --prefix LD_LIBRARY_PATH : "${final.stdenv.cc.cc.lib}/lib:${final.glibc}/lib:${final.zlib}/lib:${final.libffi}/lib:${final.openssl}/lib:${final.bzip2.out}/lib:${final.xz.out}/lib:${final.ncurses}/lib:${final.readline}/lib:${final.sqlite.out}/lib"
exec ${prev.quickshell}/bin/quickshell "$@" '';
''; }
else prev.quickshell;
}; };
packages = forAllSystems (system: packages = forAllSystems (system: