forked from Shinonome/alt-illogical-impulse
Use symlinkJoin to wrap quickshell
This commit is contained in:
@@ -26,20 +26,21 @@
|
||||
{
|
||||
overlays.default = final: prev: {
|
||||
# Enhanced quickshell wrapper with Qt5Compat support for dots-hyprland
|
||||
quickshell = final.writeShellScriptBin "quickshell" ''
|
||||
# Add Qt5Compat, QtPositioning, and quickshell config directories to QML import path
|
||||
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"
|
||||
|
||||
# Set critical environment variables for dots-hyprland functionality
|
||||
export ILLOGICAL_IMPULSE_VIRTUAL_ENV="$HOME/.local/state/quickshell/.venv"
|
||||
export XDG_DATA_DIRS="$XDG_DATA_DIRS:${final.gsettings-desktop-schemas}/share"
|
||||
|
||||
# Ensure child processes (execDetached) have access to system libraries for Python virtual environment
|
||||
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"
|
||||
|
||||
# Execute quickshell from nixpkgs
|
||||
exec ${prev.quickshell}/bin/quickshell "$@"
|
||||
# Wraps the quickshell from nixpkgs (which must already be in prev)
|
||||
quickshell = if prev ? quickshell then
|
||||
final.symlinkJoin {
|
||||
name = "quickshell-wrapped";
|
||||
paths = [ prev.quickshell ];
|
||||
buildInputs = [ final.makeWrapper ];
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/quickshell \
|
||||
--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" \
|
||||
--set ILLOGICAL_IMPULSE_VIRTUAL_ENV "$HOME/.local/state/quickshell/.venv" \
|
||||
--prefix XDG_DATA_DIRS : "${final.gsettings-desktop-schemas}/share" \
|
||||
--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"
|
||||
'';
|
||||
}
|
||||
else prev.quickshell;
|
||||
};
|
||||
|
||||
packages = forAllSystems (system:
|
||||
|
||||
Reference in New Issue
Block a user