diff --git a/pkgs/applications/window-managers/wayfire/default.nix b/pkgs/applications/window-managers/wayfire/default.nix index c633b19abc70..e6ed87ffabd3 100644 --- a/pkgs/applications/window-managers/wayfire/default.nix +++ b/pkgs/applications/window-managers/wayfire/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitHub +, nixosTests , cmake , meson , ninja @@ -26,14 +27,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "wayfire"; - version = "0.8.0"; + version = "0.8.1"; src = fetchFromGitHub { owner = "WayfireWM"; repo = "wayfire"; rev = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-YI8N1rY71b2ulv7tAdah7sibG4qq3kY0/hyS0cls5to="; + hash = "sha256-OPGzPy0I6i3TvmA5KSWDb4Lsf66zM5X+Akckgs3wk2o="; }; nativeBuildInputs = [ @@ -44,7 +45,6 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = [ - wf-config libGL libdrm libexecinfo @@ -54,14 +54,15 @@ stdenv.mkDerivation (finalAttrs: { libxkbcommon wayland-protocols xorg.xcbutilwm - wayland - cairo - pango nlohmann_json ]; propagatedBuildInputs = [ + wf-config wlroots + wayland + cairo + pango ]; nativeCheckInputs = [ @@ -83,6 +84,8 @@ stdenv.mkDerivation (finalAttrs: { passthru.providedSessions = [ "wayfire" ]; + passthru.tests.mate = nixosTests.mate-wayland; + meta = { homepage = "https://wayfire.org/"; description = "3D Wayland compositor"; diff --git a/pkgs/applications/window-managers/wayfire/firedecor.nix b/pkgs/applications/window-managers/wayfire/firedecor.nix index ce42f6fc6886..6fbe4b5575bb 100644 --- a/pkgs/applications/window-managers/wayfire/firedecor.nix +++ b/pkgs/applications/window-managers/wayfire/firedecor.nix @@ -5,17 +5,13 @@ , ninja , pkg-config , boost -, cairo , glib , libGL , libinput , librsvg , libxkbcommon -, pango , udev , wayfire -, wayland -, wf-config , xcbutilwm , mate }: @@ -39,17 +35,13 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ boost - cairo glib libGL libinput librsvg libxkbcommon - pango udev wayfire - wayland - wf-config xcbutilwm ]; diff --git a/pkgs/applications/window-managers/wayfire/focus-request.nix b/pkgs/applications/window-managers/wayfire/focus-request.nix new file mode 100644 index 000000000000..1e535e8ba751 --- /dev/null +++ b/pkgs/applications/window-managers/wayfire/focus-request.nix @@ -0,0 +1,58 @@ +{ stdenv +, lib +, fetchFromGitLab +, meson +, ninja +, pkg-config +, wayfire +, wf-config +, wayland +, pango +, libinput +, libxkbcommon +, librsvg +, libGL +, xcbutilwm +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "focus-request"; + version = "0.8.0.2"; + + src = fetchFromGitLab { + owner = "wayfireplugins"; + repo = "focus-request"; + rev = "v${finalAttrs.version}"; + hash = "sha256-v0kGT+KrtfFJ/hp1Dr8izKVj6UHhuW6udHFjWt1y9TY="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + + buildInputs = [ + wayfire + wf-config + wayland + pango + libinput + libxkbcommon + librsvg + libGL + xcbutilwm + ]; + + env = { + PKG_CONFIG_WAYFIRE_METADATADIR = "${placeholder "out"}/share/wayfire/metadata"; + }; + + meta = { + homepage = "https://gitlab.com/wayfireplugins/focus-request"; + description = "The wayfire plugin provides a mechanism to grant focus to views that make a focus self-request"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ rewine ]; + inherit (wayfire.meta) platforms; + }; +}) diff --git a/pkgs/applications/window-managers/wayfire/plugins.nix b/pkgs/applications/window-managers/wayfire/plugins.nix index b8af85aafd0d..e6663b477f71 100644 --- a/pkgs/applications/window-managers/wayfire/plugins.nix +++ b/pkgs/applications/window-managers/wayfire/plugins.nix @@ -5,9 +5,12 @@ lib.makeScope pkgs.newScope (self: inherit (self) callPackage; in { firedecor = callPackage ./firedecor.nix { }; + focus-request = callPackage ./focus-request.nix { }; wayfire-plugins-extra = callPackage ./wayfire-plugins-extra.nix { }; + wayfire-shadows = callPackage ./wayfire-shadows.nix { }; wcm = callPackage ./wcm.nix { }; wf-shell = callPackage ./wf-shell.nix { }; windecor = callPackage ./windecor.nix { }; + wwp-switcher = callPackage ./wwp-switcher.nix { }; } ) diff --git a/pkgs/applications/window-managers/wayfire/wayfire-plugins-extra.nix b/pkgs/applications/window-managers/wayfire/wayfire-plugins-extra.nix index 965266444369..62496c9f8600 100644 --- a/pkgs/applications/window-managers/wayfire/wayfire-plugins-extra.nix +++ b/pkgs/applications/window-managers/wayfire/wayfire-plugins-extra.nix @@ -1,45 +1,31 @@ { stdenv , lib , fetchFromGitHub -, fetchpatch , meson , ninja , pkg-config , wayfire , wf-config -, gtkmm3 -, gtk-layer-shell , libevdev , libinput , libxkbcommon +, nlohmann_json , xcbutilwm +, gtkmm3 +, gtk-layer-shell }: stdenv.mkDerivation (finalAttrs: { pname = "wayfire-plugins-extra"; - version = "0.8.0"; + version = "0.8.1"; src = fetchFromGitHub { owner = "WayfireWM"; repo = "wayfire-plugins-extra"; rev = "v${finalAttrs.version}"; - fetchSubmodules = true; - hash = "sha256-OVyP1AgZ1d9DXFkbHnROwtSQIquEX5ccVIkcmCdDZtA="; + hash = "sha256-MF4tDzIZnnTXH2ZUxltIw1RP3pfRQFGrc/n9H47yW0g"; }; - patches = [ - (fetchpatch { - name = "check-dependency-libevdev.patch"; - url = "https://github.com/WayfireWM/wayfire-plugins-extra/commit/f3bbf1fcbafd28016e36be7a5043bd82574ac9e4.patch"; - hash = "sha256-8X1lpf8H8NuA845cIslahKDQKW/IA/KiMExU4Snk72o="; - }) - ]; - - postPatch = '' - substituteInPlace metadata/meson.build \ - --replace "wayfire.get_variable(pkgconfig: 'metadatadir')" "join_paths(get_option('prefix'), 'share/wayfire/metadata')" - ''; - nativeBuildInputs = [ meson ninja @@ -52,12 +38,22 @@ stdenv.mkDerivation (finalAttrs: { libevdev libinput libxkbcommon + nlohmann_json xcbutilwm gtkmm3 gtk-layer-shell ]; - mesonFlags = [ "--sysconfdir /etc" ]; + mesonFlags = [ + # plugins in submodule, packaged individually + (lib.mesonBool "enable_windecor" false) + (lib.mesonBool "enable_wayfire_shadows" false) + (lib.mesonBool "enable_focus_request" false) + ]; + + env = { + PKG_CONFIG_WAYFIRE_METADATADIR = "${placeholder "out"}/share/wayfire/metadata"; + }; meta = { homepage = "https://github.com/WayfireWM/wayfire-plugins-extra"; diff --git a/pkgs/applications/window-managers/wayfire/wayfire-shadows.nix b/pkgs/applications/window-managers/wayfire/wayfire-shadows.nix new file mode 100644 index 000000000000..99f11c6fd789 --- /dev/null +++ b/pkgs/applications/window-managers/wayfire/wayfire-shadows.nix @@ -0,0 +1,49 @@ +{ stdenv +, lib +, fetchFromGitHub +, unstableGitUpdater +, meson +, ninja +, pkg-config +, wayfire +, libxkbcommon +, libGL +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "wayfire-shadows"; + version = "unstable-2023-09-09"; + + src = fetchFromGitHub { + owner = "timgott"; + repo = "wayfire-shadows"; + rev = "de3239501fcafd1aa8bd01d703aa9469900004c5"; + hash = "sha256-oVlSzpddPDk6pbyLFMhAkuRffkYpinP7jRspVmfLfyA="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + + buildInputs = [ + wayfire + libxkbcommon + libGL + ]; + + env = { + PKG_CONFIG_WAYFIRE_METADATADIR = "${placeholder "out"}/share/wayfire/metadata"; + }; + + passthru.updateScript = unstableGitUpdater { }; + + meta = { + homepage = "https://github.com/timgott/wayfire-shadows"; + description = "Wayfire plugin that adds window shadows"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ rewine ]; + inherit (wayfire.meta) platforms; + }; +}) diff --git a/pkgs/applications/window-managers/wayfire/wcm.nix b/pkgs/applications/window-managers/wayfire/wcm.nix index 1acd161e6211..fec3b1bfc716 100644 --- a/pkgs/applications/window-managers/wayfire/wcm.nix +++ b/pkgs/applications/window-managers/wayfire/wcm.nix @@ -4,11 +4,9 @@ , meson , ninja , pkg-config -, wayland , wrapGAppsHook , wayfire , wf-shell -, wf-config , wayland-scanner , wayland-protocols , gtk3 @@ -40,9 +38,7 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ wayfire - wf-config wf-shell - wayland wayland-protocols gtk3 gtkmm3 diff --git a/pkgs/applications/window-managers/wayfire/wf-shell.nix b/pkgs/applications/window-managers/wayfire/wf-shell.nix index b71e667b31ad..348ef56be5d8 100644 --- a/pkgs/applications/window-managers/wayfire/wf-shell.nix +++ b/pkgs/applications/window-managers/wayfire/wf-shell.nix @@ -6,7 +6,6 @@ , pkg-config , wayland-scanner , wayfire -, wf-config , alsa-lib , gtkmm3 , gtk-layer-shell @@ -35,7 +34,6 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ wayfire - wf-config alsa-lib gtkmm3 gtk-layer-shell diff --git a/pkgs/applications/window-managers/wayfire/windecor.nix b/pkgs/applications/window-managers/wayfire/windecor.nix index d3643aa18095..29c95ff1a91d 100644 --- a/pkgs/applications/window-managers/wayfire/windecor.nix +++ b/pkgs/applications/window-managers/wayfire/windecor.nix @@ -5,9 +5,6 @@ , ninja , pkg-config , wayfire -, wf-config -, wayland -, pango , eudev , libinput , libxkbcommon @@ -40,9 +37,6 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ wayfire - wf-config - wayland - pango eudev libinput libxkbcommon diff --git a/pkgs/applications/window-managers/wayfire/wwp-switcher.nix b/pkgs/applications/window-managers/wayfire/wwp-switcher.nix new file mode 100644 index 000000000000..9ca4718e1709 --- /dev/null +++ b/pkgs/applications/window-managers/wayfire/wwp-switcher.nix @@ -0,0 +1,57 @@ +{ stdenv +, lib +, fetchFromGitHub +, unstableGitUpdater +, meson +, ninja +, pkg-config +, wayfire +, libxkbcommon +, libGL +, libinput +, gtk3 +, glibmm +, xcbutilwm +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "wwp-switcher"; + version = "unstable-2023-09-09"; + + src = fetchFromGitHub { + owner = "wb9688"; + repo = "wwp-switcher"; + rev = "04711a0db133a899f507a86e81897296b793b4f3"; + hash = "sha256-qMyEhSZJNxAoaELKI2h1v59QJnKJzFa76Q4/WtZqpIU"; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + + buildInputs = [ + wayfire + libxkbcommon + libGL + libinput + gtk3 + glibmm + xcbutilwm + ]; + + env = { + PKG_CONFIG_WAYFIRE_METADATADIR = "${placeholder "out"}/share/wayfire/metadata"; + }; + + passthru.updateScript = unstableGitUpdater { }; + + meta = { + homepage = "https://github.com/wb9688/wwp-switcher"; + description = "A plugin to switch active window"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ rewine ]; + inherit (wayfire.meta) platforms; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4eb8ffd9795e..4d8ae8d5366f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -35780,7 +35780,7 @@ with pkgs; weave-gitops = callPackage ../applications/networking/cluster/weave-gitops { }; wayfire = callPackage ../applications/window-managers/wayfire/default.nix { - wlroots = wlroots_0_16; + wlroots = wlroots_0_17; }; wf-config = callPackage ../applications/window-managers/wayfire/wf-config.nix { };