From patchwork Tue Apr 1 07:34:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Andrew Wong X-Patchwork-Id: 41122 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 7B68B27BBE2; Tue, 1 Apr 2025 08:55:39 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id BF1A527BBEA for ; Tue, 1 Apr 2025 08:55:38 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tzWSi-0004Ar-62; Tue, 01 Apr 2025 03:55:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tzWSe-00049n-Qd for guix-patches@gnu.org; Tue, 01 Apr 2025 03:55:05 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tzWSe-0003zN-7Q for guix-patches@gnu.org; Tue, 01 Apr 2025 03:55:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=LGyvEX6HW1hYGN61nK/C3cn/oQA0VRBIjkrJSzMDKao=; b=Mj9Wh/35lQeBrTaJzMyIFMBI5HvRMZZo7UvA25t8eRbNWeKh7k2O2f30AAf48CBBq1Oli2KvqltXDHAQJSNLA3t1UNJLkUYoBXjnVo0fwvzvkkj2YAhDcb61+TnF3TuSWdltSjjolANaBpVZxn10iMcwPEoZLbGU54ZFjdwSyBRTK3y6Eit48qhDJG/eBJTgQp6dnzLykj6ebY9ln5P2tpuL0E7wPXDYXWl7qkGqNWboqeP2SxRmOUvmtjCvWAJI1nkpQWC3gmiWUj4odhAJXD/X3wFKu9ianQ9YQI9Hnr0j5Nqlx9aRp55RBIgyOSAGUjhzyA6sLQi9xE7cxOP5fQ==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tzWSd-0005su-VS for guix-patches@gnu.org; Tue, 01 Apr 2025 03:55:04 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#76910] [PATCH v3 1/5] gnu: Add Hyprland plugins. Resent-From: Andrew Wong Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 01 Apr 2025 07:55:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 76910 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 76910@debbugs.gnu.org Cc: Andrew Wong Received: via spool by 76910-submit@debbugs.gnu.org id=B76910.174349404622172 (code B ref 76910); Tue, 01 Apr 2025 07:55:03 +0000 Received: (at 76910) by debbugs.gnu.org; 1 Apr 2025 07:54:06 +0000 Received: from localhost ([127.0.0.1]:45013 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tzWRh-0005lY-DD for submit@debbugs.gnu.org; Tue, 01 Apr 2025 03:54:05 -0400 Received: from qs51p00im-qukt01080302.me.com ([17.57.155.21]:27193) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tzWRe-0005kb-AK for 76910@debbugs.gnu.org; Tue, 01 Apr 2025 03:54:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; bh=LGyvEX6HW1hYGN61nK/C3cn/oQA0VRBIjkrJSzMDKao=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type:x-icloud-hme; b=JAXl3Pyz6gqTN45xQF7X5Lwk00cSTK/rVhBOBUVhoRkj+yoH8tn9MkY39pkYR5+5C /avmIRmChZzGFNApWqfNUwbXtyQ7XUPer+/+UkFhnn/D6mxF4ejKzxJTTPvd/aFaOQ BgboMQWIGPm4wxDnmN4IYKPRgtupNVgO6+ARanTg+LxW15kCmX6c/kqjHs4Lv3RqLk wmVwEVluNwU761yDkgw2lsduJvYSI59yY+iQ37xmCU1niZ1I+dusy4t+I1weUz8/o3 IogT7JpMxfYgAIvbDVKz2HG4maqHhXjzFYjvGK8enmGZNth3LEuC81WOUVkoU/eAZ4 HOibCkbL959Qg== Received: from wongworks.lan (qs51p00im-dlb-asmtp-mailmevip.me.com [17.57.155.28]) by qs51p00im-qukt01080302.me.com (Postfix) with ESMTPSA id 53192114018F; Tue, 1 Apr 2025 07:53:55 +0000 (UTC) Date: Tue, 1 Apr 2025 03:34:38 -0400 Message-ID: <5b07039df322a6dc90f7b07978af3dcd9065e3e6.1743492882.git.wongandj@icloud.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: References: MIME-Version: 1.0 X-Proofpoint-GUID: X1RdjW_wHaTQ2YLo8vTCdyROUtg-Wds3 X-Proofpoint-ORIG-GUID: X1RdjW_wHaTQ2YLo8vTCdyROUtg-Wds3 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-01_03,2025-03-27_02,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 bulkscore=0 suspectscore=0 mlxscore=0 phishscore=0 clxscore=1015 mlxlogscore=999 adultscore=0 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2308100000 definitions=main-2504010051 X-Apple-Remote-Links: v=1;h=KCk=;charset=UTF-8 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Andrew Wong X-ACL-Warn: , Andrew Wong via Guix-patches X-Patchwork-Original-From: Andrew Wong via Guix-patches via From: Andrew Wong Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/wm.scm (hyprland-plugin): New function. * gnu/packages/wm.scm (borders-plus-plus): New variable. * gnu/packages/wm.scm (csgo-vulkan-fix): New variable. * gnu/packages/wm.scm (hyprbars): New variable. * gnu/packages/wm.scm (hyprexpo): New variable. * gnu/packages/wm.scm (hyprtrails): New variable. * gnu/packages/wm.scm (hyprwinwrap): New variable. * gnu/packages/wm.scm (xtra-dispatchers): New variable. Change-Id: I923095e0d0cbc1c237e55a78dd2e9c1b1a3235df --- gnu/packages/wm.scm | 79 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index b01f63629f..a951b24b2d 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -80,6 +80,7 @@ ;;; Copyright © 2024 Jakob Kirsch ;;; Copyright © 2025 Tomáš Čech ;;; Copyright © 2025 Ricardo Wurmus +;;; Copyright © 2025 Andrew Wong ;;; ;;; This file is part of GNU Guix. ;;; @@ -446,6 +447,84 @@ (define-public hyprland `((upstream-name . "source"))) (license license:bsd-3))) +(define hyprland-plugin + (lambda (plugin-name plugin-provision) + "Generate a packaged plugin from Hyprland's official plugin repository." + (let ((commit "1f332c09a2382cb23da0f69a6f504f8b33433831")) + (package + (name plugin-name) + ;; We will ignore the version tags in the repo, use the .toml file instead + ;; because it's a stronger promise of compatibility. + ;; See https://github.com/hyprwm/hyprland-plugins/issues/312 + (version (git-version "0.48.1" "0" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hyprwm/hyprland-plugins") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sajd019n6qk17fz87p87dsbc28afwdv8h92i2f8qdmykp54gdwm")))) + (build-system cmake-build-system) + (native-inputs (list gcc-14 pkg-config)) + (inputs (list hyprland + libdrm + libinput + eudev + pango + pixman + wayland + libxkbcommon + mesa + hyprutils + hyprgraphics + aquamarine + hyprlang)) + (arguments (list #:cmake cmake-3.30 + #:tests? #f ; no tests. + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ (chdir #$plugin-name))) + (replace 'install-license-files + (lambda _ (install-file + "../LICENSE" + (string-append #$output "/share/doc/" + #$name "-" + #$version))))))) + (home-page (string-append "https://github.com/hyprwm/hyprland-plugins/" + plugin-name)) + (synopsis (string-append "Hyprland plugin providing " + plugin-provision)) + (description + (string-append "This is an official Hyprland plugin that provides " + plugin-provision ".")) + (license license:bsd-3))))) + +(define-public borders-plus-plus + (hyprland-plugin "borders-plus-plus" "extra borders around windows")) + +(define-public csgo-vulkan-fix + (let ((parent (hyprland-plugin "csgo-vulkan-fix" + "virtual native resolution reporting"))) + (package (inherit parent) (inputs (modify-inputs (package-inputs parent) + (append xcb-util-wm)))))) + +(define-public hyprbars + (hyprland-plugin "hyprbars" "window title bars")) + +(define-public hyprexpo + (hyprland-plugin "hyprexpo" "an exposé feature")) + +(define-public hyprtrails + (hyprland-plugin "hyprtrails" "trail effects behind windows")) + +(define-public hyprwinwrap + (hyprland-plugin "hyprwinwrap" "a window-as-wallpaper feature")) + +(define-public xtra-dispatchers + (hyprland-plugin "xtra-dispatchers" "extra dispatchers")) + (define-public i3status (package (name "i3status")