Subject: [bug#76910] [PATCH v3 5/5] gnu: Add hypr-dynamic-cursors.

From: Gabriel Santos <[email-masked]>
Date: Sat, 29 Mar 2025 13:16:40 -0300

* gnu/packages/wm.scm (hypr-dynamic-cursors): New variable.

Change-Id: I3cc75a076e6c8c65356444a98c0122af3bb76d0a
---
 gnu/packages/wm.scm | 48 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 5271d85d20..2ba0bb6bbc 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -81,6 +81,7 @@
 ;;; Copyright © 2025 Tomáš Čech <[email-masked]>
 ;;; Copyright © 2025 Ricardo Wurmus <[email-masked]>
 ;;; Copyright © 2025 Andrew Wong <[email-masked]>
+;;; Copyright © 2025 Gabriel Santos <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -656,6 +657,53 @@ (define-public hypr-darkwindow
 window.")
     (license license:expat)))
 
+(define-public hypr-dynamic-cursors
+  (let ((commit "e2c32d8108960b6eaf96918485503e90a016de4b")
+        (revision "0")) ; Has no versioning scheme
+    (package
+      (name "hypr-dynamic-cursors")
+      (version (git-version "1.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/VirtCode/hypr-dynamic-cursors")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1sx0x0ssqsrq72g4bp81jhinvswx5rdywhyrg8cqg9yx6wk9gmzy"))))
+      (build-system gnu-build-system)
+      (native-inputs (list gcc-14 pkg-config))
+      (inputs (list aquamarine
+                    cairo
+                    hyprcursor
+                    hyprgraphics
+                    hyprland
+                    hyprlang
+                    hyprutils
+                    libinput-minimal
+                    libxcursor
+                    libxkbcommon
+                    mesa
+                    wayland))
+      (arguments
+       (list
+        #:tests? #f
+        #:phases
+        #~(modify-phases %standard-phases
+            (delete 'configure)
+            (replace 'install
+              (lambda* _
+                (install-file "out/dynamic-cursors.so"
+                              (string-append #$output "/lib")))))))
+      (home-page "https://github.com/VirtCode/hypr-dynamic-cursors")
+      (synopsis "Hyprland plugin that provides cursor effects")
+      (description
+       "This plugin adds multiple cursor gimmicks, such as simulated
+physics that makes the cursor behave like a stick.  There's also a shake
+to find function like in KDE Plasma.")
+      (license license:expat))))
+
 (define-public i3status
   (package
     (name "i3status")
-- 
2.49.0