Files
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

56 lines
1.6 KiB
Nix

{
config,
lib,
callPackage,
pkg-config,
hyprland,
}@topLevelArgs:
let
mkHyprlandPlugin = lib.extendMkDerivation {
constructDrv = topLevelArgs.hyprland.stdenv.mkDerivation;
extendDrvArgs =
finalAttrs:
{
pluginName ? "",
nativeBuildInputs ? [ ],
buildInputs ? [ ],
hyprland ? topLevelArgs.hyprland,
...
}@args:
{
pname = "${pluginName}";
nativeBuildInputs = [ pkg-config ] ++ nativeBuildInputs;
buildInputs = [ hyprland ] ++ hyprland.buildInputs ++ buildInputs;
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.";
platforms = args.meta.platforms or hyprland.meta.platforms or [ ];
};
};
};
plugins = lib.mergeAttrsList [
{ hy3 = import ./hy3.nix; }
{ hycov = import ./hycov.nix; }
{ hypr-dynamic-cursors = import ./hypr-dynamic-cursors.nix; }
{ hyprfocus = import ./hyprfocus.nix; }
{ hyprgrass = import ./hyprgrass.nix; }
{ hyprspace = import ./hyprspace.nix; }
{ hyprsplit = import ./hyprsplit.nix; }
(import ./hyprland-plugins.nix)
(lib.optionalAttrs config.allowAliases {
hyprscroller = throw "hyprlandPlugins.hyprscroller has been removed as the upstream project is deprecated. Consider using `hyprlandPlugins.hyprscrolling`."; # Added 2025-05-09
})
];
in
(lib.mapAttrs (name: plugin: callPackage plugin { inherit mkHyprlandPlugin; }) plugins)
// {
inherit mkHyprlandPlugin;
}