{ lib, mkKdeDerivation, runCommandLocal, makeWrapper, glib, gsettings-desktop-schemas, substituteAll, util-linux, pkg-config, qtsvg, qtwayland, kaccounts-integration, SDL2, xkeyboard_config, xorg, libcanberra, libxkbfile, ibus, }: let # run gsettings with desktop schemas for using in "kcm_access" kcm # and in kaccess gsettings-wrapper = runCommandLocal "gsettings-wrapper" {nativeBuildInputs = [makeWrapper];} '' mkdir -p $out/bin makeWrapper ${glib}/bin/gsettings $out/bin/gsettings --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas.out}/share/gsettings-schemas/${gsettings-desktop-schemas.name} ''; in mkKdeDerivation { pname = "plasma-desktop"; patches = [ (substituteAll { src = ./hwclock-path.patch; hwclock = "${lib.getBin util-linux}/bin/hwclock"; }) (substituteAll { src = ./kcm-access.patch; gsettings = "${gsettings-wrapper}/bin/gsettings"; }) ./tzdir.patch ./no-discover-shortcut.patch ]; extraNativeBuildInputs = [pkg-config]; extraBuildInputs = [ qtsvg qtwayland kaccounts-integration SDL2 libcanberra libxkbfile xkeyboard_config xorg.libXcursor xorg.libXft xorg.xf86inputlibinput xorg.xf86inputevdev xorg.xorgserver ibus ]; # wrap kaccess with wrapped gsettings so it can access accessibility schemas qtWrapperArgs = ["--prefix PATH : ${lib.makeBinPath [gsettings-wrapper]}"]; }