diff options
Diffstat (limited to 'pkgs/applications/window-managers/hyprwm/hyprland-plugins/default.nix')
-rw-r--r-- | pkgs/applications/window-managers/hyprwm/hyprland-plugins/default.nix | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/pkgs/applications/window-managers/hyprwm/hyprland-plugins/default.nix b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/default.nix new file mode 100644 index 0000000000000..f994b19175209 --- /dev/null +++ b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/default.nix @@ -0,0 +1,35 @@ +{ + lib, + callPackage, + pkg-config, + stdenv, + hyprland, +}: +let + mkHyprlandPlugin = + hyprland: + args@{ pluginName, ... }: + stdenv.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.longDescription or "") + + "\n\nPlugins can be installed via a plugin entry in the Hyprland NixOS or Home Manager options."; + }; + } + ); + + plugins = lib.mergeAttrsList [ + { hy3 = import ./hy3.nix; } + (import ./hyprland-plugins.nix) + ]; +in +(lib.mapAttrs (name: plugin: callPackage plugin { inherit mkHyprlandPlugin; }) plugins) +// { + inherit mkHyprlandPlugin; +} |