2024-01-02 11:29:13 +00:00
|
|
|
{ lib
|
|
|
|
, callPackage
|
|
|
|
, pkg-config
|
2024-02-29 20:09:43 +00:00
|
|
|
, stdenv
|
2024-01-02 11:29:13 +00:00
|
|
|
, hyprland
|
|
|
|
}:
|
|
|
|
let
|
2024-04-21 15:54:59 +00:00
|
|
|
mkHyprlandPlugin = hyprland:
|
2024-01-02 11:29:13 +00:00
|
|
|
args@{ pluginName, ... }:
|
2024-02-29 20:09:43 +00:00
|
|
|
stdenv.mkDerivation (args // {
|
2024-01-02 11:29:13 +00:00
|
|
|
pname = "${pluginName}";
|
|
|
|
nativeBuildInputs = [ pkg-config ] ++ args.nativeBuildInputs or [ ];
|
|
|
|
buildInputs = [ hyprland ]
|
|
|
|
++ hyprland.buildInputs
|
|
|
|
++ (args.buildInputs or [ ]);
|
|
|
|
meta = args.meta // {
|
2024-04-21 15:54:59 +00:00
|
|
|
description = args.meta.description or "";
|
|
|
|
longDescription = (args.meta.longDescription or "") +
|
2024-01-02 11:29:13 +00:00
|
|
|
"\n\nPlugins can be installed via a plugin entry in the Hyprland NixOS or Home Manager options.";
|
|
|
|
};
|
|
|
|
});
|
|
|
|
|
|
|
|
plugins = {
|
|
|
|
hy3 = { fetchFromGitHub, cmake, hyprland }:
|
2024-04-21 15:54:59 +00:00
|
|
|
mkHyprlandPlugin hyprland {
|
2024-01-02 11:29:13 +00:00
|
|
|
pluginName = "hy3";
|
2024-05-15 15:35:15 +00:00
|
|
|
version = "0.39.1";
|
2024-01-02 11:29:13 +00:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "outfoxxed";
|
|
|
|
repo = "hy3";
|
2024-05-15 15:35:15 +00:00
|
|
|
rev = "hl0.39.1";
|
|
|
|
hash = "sha256-PqVld+oFziSt7VZTNBomPyboaMEAIkerPQFwNJL/Wjw=";
|
2024-01-02 11:29:13 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
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
|
2024-04-21 15:54:59 +00:00
|
|
|
(lib.mapAttrs (name: plugin: callPackage plugin { }) plugins) // { inherit mkHyprlandPlugin; }
|