73 lines
1.6 KiB
Nix
73 lines
1.6 KiB
Nix
{
|
|
lib,
|
|
mkKdeDerivation,
|
|
runCommandLocal,
|
|
makeWrapper,
|
|
glib,
|
|
gsettings-desktop-schemas,
|
|
substituteAll,
|
|
util-linux,
|
|
pkg-config,
|
|
qtsvg,
|
|
qtwayland,
|
|
breeze,
|
|
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
|
|
(substituteAll {
|
|
src = ./wallpaper-paths.patch;
|
|
wallpapers = "${lib.getBin breeze}/share/wallpapers";
|
|
})
|
|
];
|
|
|
|
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 ]}" ];
|
|
}
|