1{
2 stdenv,
3 lib,
4 fetchFromGitHub,
5 meson,
6 ninja,
7 pkg-config,
8 wayfire,
9 wayland-scanner,
10 wf-config,
11 libevdev,
12 libinput,
13 libxkbcommon,
14 nlohmann_json,
15 xcbutilwm,
16 gtkmm3,
17}:
18
19stdenv.mkDerivation (finalAttrs: {
20 pname = "wayfire-plugins-extra";
21 version = "0.9.0";
22
23 src = fetchFromGitHub {
24 owner = "WayfireWM";
25 repo = "wayfire-plugins-extra";
26 rev = "v${finalAttrs.version}";
27 hash = "sha256-TukDomxqfrM45+C7azfO8jVaqk3E5irdphH8U5IYItg=";
28 };
29
30 nativeBuildInputs = [
31 meson
32 ninja
33 pkg-config
34 wayland-scanner
35 ];
36
37 buildInputs = [
38 wayfire
39 wf-config
40 libevdev
41 libinput
42 libxkbcommon
43 nlohmann_json
44 xcbutilwm
45 gtkmm3
46 ];
47
48 mesonFlags = [
49 # plugins in submodule, packaged individually
50 (lib.mesonBool "enable_windecor" false)
51 (lib.mesonBool "enable_wayfire_shadows" false)
52 (lib.mesonBool "enable_focus_request" false)
53 ];
54
55 env = {
56 PKG_CONFIG_WAYFIRE_METADATADIR = "${placeholder "out"}/share/wayfire/metadata";
57 };
58
59 meta = {
60 homepage = "https://github.com/WayfireWM/wayfire-plugins-extra";
61 description = "Additional plugins for Wayfire";
62 license = lib.licenses.mit;
63 maintainers = with lib.maintainers; [ rewine ];
64 inherit (wayfire.meta) platforms;
65 };
66})