about summary refs log tree commit diff
path: root/pkgs/applications/window-managers
diff options
context:
space:
mode:
authorRobin Gloster <mail@glob.in>2023-12-25 16:35:12 +0100
committerGitHub <noreply@github.com>2023-12-25 16:35:12 +0100
commit8a6b05a24619134919f857c9fb4f1b51bf4f4182 (patch)
tree0bb41296301030d53aa668cfeab7968e8571a00a /pkgs/applications/window-managers
parentae99fb25351e48983dbd5ad7f05c6a9f3de38b56 (diff)
parent8222fa33b3388dc6d4cd4acd71d4ee17a1b56c78 (diff)
Merge pull request #265288 from aacebedo/aacebedo/add_hyprland_plugins
hyprlandPlugins.hy3: init at 0.32.0
Diffstat (limited to 'pkgs/applications/window-managers')
-rw-r--r--pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix51
1 files changed, 51 insertions, 0 deletions
diff --git a/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix b/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix
new file mode 100644
index 0000000000000..f8742673f3d70
--- /dev/null
+++ b/pkgs/applications/window-managers/hyprwm/hyprland/plugins.nix
@@ -0,0 +1,51 @@
+{ lib
+, callPackage
+, pkg-config
+, gcc13Stdenv
+, hyprland
+}:
+let
+  mkHyprlandPlugin =
+    args@{ pluginName, ... }:
+    gcc13Stdenv.mkDerivation (args // {
+      pname = "${pluginName}";
+      nativeBuildInputs = [ pkg-config ] ++ args.nativeBuildInputs or [ ];
+      buildInputs = [ hyprland ]
+        ++ hyprland.buildInputs
+        ++ (args.buildInputs or [ ]);
+      meta = args.meta // {
+        description = (args.meta.description or "");
+        longDescription = (args.meta.lonqDescription or "") +
+          "\n\nPlugins can be installed via a plugin entry in the Hyprland NixOS or Home Manager options.";
+      };
+    });
+
+  plugins = {
+    hy3 = { fetchFromGitHub, cmake, hyprland }:
+      mkHyprlandPlugin rec {
+        pluginName = "hy3";
+        version = "0.32.0";
+
+        src = fetchFromGitHub {
+          owner = "outfoxxed";
+          repo = "hy3";
+          rev = "hl${version}";
+          hash = "sha256-j49bEOLjBa1CH2gTwM+A2Edrw/GspE2m8q1teAn6SuQ=";
+        };
+
+        nativeBuildInputs = [ cmake ];
+
+        dontStrip = true;
+
+        meta = with lib; {
+          homepage = "https://github.com/outfoxxed/hy3";
+          description = "Hyprland plugin for an i3 / sway like manual tiling layout";
+          license = licenses.gpl3;
+          platforms = platforms.linux;
+          maintainers = [ maintainers.aacebedo ];
+        };
+      };
+  };
+in
+lib.mapAttrs (name: plugin: callPackage plugin { }) plugins
+