summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2025-07-13 11:33:43 -0400
committerFreya Murphy <freya@freyacat.org>2025-07-13 11:33:43 -0400
commit59802a38b6fd541e09e424d981e76991df485aa1 (patch)
tree4c2335b09a6e22a8afc59bb301f6f36ae9e3f629
parentupdate commits (diff)
downloaddotfiles-nix-59802a38b6fd541e09e424d981e76991df485aa1.tar.gz
dotfiles-nix-59802a38b6fd541e09e424d981e76991df485aa1.tar.bz2
dotfiles-nix-59802a38b6fd541e09e424d981e76991df485aa1.zip
patch hy3 to build with hyprland dev
-rw-r--r--modules/desktops/hyprland/plugins.nix9
-rw-r--r--pkgs/default.nix1
-rw-r--r--pkgs/hy3/0001-fix-renderPass-pointer.patch69
-rw-r--r--pkgs/hy3/default.nix6
4 files changed, 79 insertions, 6 deletions
diff --git a/modules/desktops/hyprland/plugins.nix b/modules/desktops/hyprland/plugins.nix
index b218e74..21aff3b 100644
--- a/modules/desktops/hyprland/plugins.nix
+++ b/modules/desktops/hyprland/plugins.nix
@@ -3,15 +3,12 @@
config,
system,
...
-}: let
- hyprland-plugins = inputs.hyprland-plugins.packages.${system};
- hy3 = inputs.hy3.packages.${system};
-in {
+}: {
home-manager.users.${config.user} = {
wayland.windowManager.hyprland = {
plugins = [
- hyprland-plugins.hyprexpo
- hy3.hy3
+ inputs.hyprland-plugins.packages.${system}.hyprexpo
+ inputs.self.packages.${system}.hy3
];
settings.plugin = {
diff --git a/pkgs/default.nix b/pkgs/default.nix
index 45e32bb..406669b 100644
--- a/pkgs/default.nix
+++ b/pkgs/default.nix
@@ -1,6 +1,7 @@
{pkgs, ...} @ inputs: {
arcanist = pkgs.callPackage ./arcanist {};
astal = pkgs.callPackage ./astal inputs;
+ hy3 = pkgs.callPackage ./hy3 inputs;
libfprint-2-tod1-vfs0090 = pkgs.callPackage ./libfprint-2-tod1-vfs0090 {};
ly = pkgs.callPackage ./ly {};
unofficial-homestuck-collection = pkgs.callPackage ./unofficial-homestuck-collection {};
diff --git a/pkgs/hy3/0001-fix-renderPass-pointer.patch b/pkgs/hy3/0001-fix-renderPass-pointer.patch
new file mode 100644
index 0000000..307506c
--- /dev/null
+++ b/pkgs/hy3/0001-fix-renderPass-pointer.patch
@@ -0,0 +1,69 @@
+From f12b2a8f370f2095035a9aa97dac8179d79a7383 Mon Sep 17 00:00:00 2001
+From: Freya Murphy <freya@freyacat.org>
+Date: Sun, 13 Jul 2025 11:25:42 -0400
+Subject: [PATCH] fix renderPass pointer
+
+---
+ src/Hy3Layout.cpp | 5 +++--
+ src/TabGroup.cpp | 1 -
+ src/TabGroup.hpp | 2 --
+ 3 files changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/src/Hy3Layout.cpp b/src/Hy3Layout.cpp
+index b10aced..70b75bc 100644
+--- a/src/Hy3Layout.cpp
++++ b/src/Hy3Layout.cpp
+@@ -15,6 +15,7 @@
+ #include <hyprland/src/plugins/PluginAPI.hpp>
+ #include <hyprland/src/plugins/PluginSystem.hpp>
+ #include <hyprutils/math/Vector2D.hpp>
++#include <hyprutils/memory/UniquePtr.hpp>
+ #include <ranges>
+
+ #include "Hy3Layout.hpp"
+@@ -1580,7 +1581,7 @@ void Hy3Layout::renderHook(void*, SCallbackInfo&, std::any data) {
+ && std::find(rendered_groups.begin(), rendered_groups.end(), &entry)
+ == rendered_groups.end())
+ {
+- g_pHyprRenderer->m_renderPass.add(entry.pass);
++ g_pHyprRenderer->m_renderPass.add(makeUnique<Hy3TabPassElement>(&entry));
+ rendered_groups.push_back(&entry);
+ }
+ }
+@@ -1595,7 +1596,7 @@ void Hy3Layout::renderHook(void*, SCallbackInfo&, std::any data) {
+ && std::find(rendered_groups.begin(), rendered_groups.end(), &entry)
+ == rendered_groups.end())
+ {
+- g_pHyprRenderer->m_renderPass.add(entry.pass);
++ g_pHyprRenderer->m_renderPass.add(makeUnique<Hy3TabPassElement>(&entry));
+ entry.renderTabBar();
+ }
+ }
+diff --git a/src/TabGroup.cpp b/src/TabGroup.cpp
+index 4c2c845..1f7fe4d 100644
+--- a/src/TabGroup.cpp
++++ b/src/TabGroup.cpp
+@@ -16,7 +16,6 @@
+ #include <hyprland/src/render/Texture.hpp>
+ #include <hyprutils/math/Box.hpp>
+ #include <hyprutils/math/Region.hpp>
+-#include <hyprutils/memory/SharedPtr.hpp>
+ #include <pango/pangocairo.h>
+ #include <pixman.h>
+
+diff --git a/src/TabGroup.hpp b/src/TabGroup.hpp
+index ec254e9..dafa065 100644
+--- a/src/TabGroup.hpp
++++ b/src/TabGroup.hpp
+@@ -130,8 +130,6 @@ public:
+ // render the scaled tab bar on the current monitor.
+ void renderTabBar();
+
+- SP<Hy3TabPassElement> pass = makeShared<Hy3TabPassElement>(this);
+-
+ private:
+ std::vector<PHLWINDOWREF> stencil_windows;
+ Vector2D last_workspace_offset;
+--
+2.49.0
+
diff --git a/pkgs/hy3/default.nix b/pkgs/hy3/default.nix
new file mode 100644
index 0000000..316046b
--- /dev/null
+++ b/pkgs/hy3/default.nix
@@ -0,0 +1,6 @@
+{system, inputs, ...}:
+inputs.hy3.packages.${system}.hy3.overrideAttrs {
+ patches = [
+ ./0001-fix-renderPass-pointer.patch
+ ];
+}