1{
2 lib,
3 mkKdeDerivation,
4 replaceVars,
5 procps,
6 xsettingsd,
7 pkg-config,
8 wrapGAppsHook3,
9 sass,
10 qtsvg,
11 gsettings-desktop-schemas,
12}:
13mkKdeDerivation {
14 pname = "kde-gtk-config";
15
16 # The gtkconfig KDED module will crash the daemon if the GSettings schemas
17 # aren't found.
18 patches = [
19 ./0001-gsettings-schemas-path.patch
20 (replaceVars ./dependency-paths.patch {
21 pgrep = lib.getExe' procps "pgrep";
22 xsettingsd = lib.getExe xsettingsd;
23 })
24 ];
25
26 preConfigure = ''
27 NIX_CFLAGS_COMPILE+=" -DGSETTINGS_SCHEMAS_PATH=\"$GSETTINGS_SCHEMAS_PATH\""
28 '';
29
30 extraNativeBuildInputs = [
31 pkg-config
32 wrapGAppsHook3
33 sass
34 ];
35 extraBuildInputs = [ qtsvg ];
36 dontWrapGApps = true; # There is nothing to wrap
37
38 extraCmakeFlags = [ "-DGLIB_SCHEMAS_DIR=${gsettings-desktop-schemas.out}/" ];
39
40 # Hardcoded as QStrings, which are UTF-16 so Nix can't pick these up automatically
41 postFixup = ''
42 mkdir -p $out/nix-support
43 echo "${procps} ${xsettingsd}" > $out/nix-support/depends
44 '';
45}