1{
2 mkKdeDerivation,
3 pkg-config,
4 qtquick3d,
5 qtsensors,
6 qttools,
7 qtvirtualkeyboard,
8 qtwayland,
9 libinput,
10 xorg,
11 xwayland,
12 libcanberra,
13 libdisplay-info,
14 libei,
15 libgbm,
16 lcms2,
17 pipewire,
18 krunner,
19 python3,
20}:
21mkKdeDerivation {
22 pname = "kwin";
23
24 patches = [
25 ./0003-plugins-qpa-allow-using-nixos-wrapper.patch
26 ./0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
27 ./0001-Lower-CAP_SYS_NICE-from-the-ambient-set.patch
28 ];
29
30 postPatch = ''
31 patchShebangs src/plugins/strip-effect-metadata.py
32 '';
33
34 # TZDIR may be unset when running through the kwin_wayland wrapper,
35 # but we need it for the lockscreen clock to render
36 qtWrapperArgs = [
37 "--set-default TZDIR /etc/zoneinfo"
38 ];
39
40 extraNativeBuildInputs = [
41 pkg-config
42 python3
43 ];
44 extraBuildInputs = [
45 qtquick3d
46 qtsensors
47 qttools
48 qtvirtualkeyboard
49 qtwayland
50
51 krunner
52
53 libgbm
54 lcms2
55 libcanberra
56 libdisplay-info
57 libei
58 libinput
59 pipewire
60
61 xorg.libxcvt
62 # we need to provide this so it knows our xwayland supports new features
63 xwayland
64 ];
65}