about summary refs log tree commit diff
path: root/pkgs/applications/window-managers
diff options
context:
space:
mode:
authorAlexandre Acebedo <alexandre@acebedo.fr>2023-11-03 19:04:21 +0100
committerAlexandre Acebedo <alexandre@acebedo.fr>2023-12-17 09:10:25 +0100
commit8222fa33b3388dc6d4cd4acd71d4ee17a1b56c78 (patch)
tree83feee3e42b02f52a039e116e40131d72a81d292 /pkgs/applications/window-managers
parent145d101931d22a7d0e473711fac2cf8c7714febe (diff)
downloadnixlib-8222fa33b3388dc6d4cd4acd71d4ee17a1b56c78.tar
nixlib-8222fa33b3388dc6d4cd4acd71d4ee17a1b56c78.tar.gz
nixlib-8222fa33b3388dc6d4cd4acd71d4ee17a1b56c78.tar.bz2
nixlib-8222fa33b3388dc6d4cd4acd71d4ee17a1b56c78.tar.lz
nixlib-8222fa33b3388dc6d4cd4acd71d4ee17a1b56c78.tar.xz
nixlib-8222fa33b3388dc6d4cd4acd71d4ee17a1b56c78.tar.zst
nixlib-8222fa33b3388dc6d4cd4acd71d4ee17a1b56c78.zip
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 000000000000..f8742673f3d7
--- /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
+