push sheeet
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

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
{
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;
}

View File

@@ -0,0 +1,41 @@
{
lib,
cmake,
fetchFromGitHub,
hyprland,
mkHyprlandPlugin,
nix-update-script,
}:
mkHyprlandPlugin (finalAttrs: {
pluginName = "hy3";
version = "0.51.0";
src = fetchFromGitHub {
owner = "outfoxxed";
repo = "hy3";
tag = "hl${finalAttrs.version}";
hash = "sha256-HjbofK4rSLkkUvOZHdoAY6kn7Ok2bXo14eOKr8hKRHE=";
};
nativeBuildInputs = [ cmake ];
dontStrip = true;
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"hl(.*)"
];
};
meta = {
homepage = "https://github.com/outfoxxed/hy3";
description = "Hyprland plugin for an i3 / sway like manual tiling layout";
license = lib.licenses.gpl3;
inherit (hyprland.meta) platforms;
maintainers = with lib.maintainers; [
aacebedo
johnrtitor
];
};
})

View File

@@ -0,0 +1,32 @@
{
lib,
mkHyprlandPlugin,
cmake,
fetchFromGitHub,
nix-update-script,
}:
mkHyprlandPlugin (finalAttrs: {
pluginName = "hycov";
version = "0.41.2.1";
src = fetchFromGitHub {
owner = "DreamMaoMao";
repo = "hycov";
tag = finalAttrs.version;
hash = "sha256-NRnxbkuiq1rQ+uauo7D+CEe73iGqxsWxTQa+1SEPnXQ=";
};
nativeBuildInputs = [ cmake ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Clients overview for Hyprland plugin";
homepage = "https://github.com/DreamMaoMao/hycov";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ donovanglover ];
platforms = lib.platforms.linux;
broken = true; # Doesn't work after Hyprland v0.41.2 https://gitee.com/DreamMaoMao/hycov/issues/IANYC8#note_31512295_link
};
})

View File

@@ -0,0 +1,39 @@
{
lib,
mkHyprlandPlugin,
fetchFromGitHub,
nix-update-script,
}:
mkHyprlandPlugin {
pluginName = "hypr-dynamic-cursors";
version = "0-unstable-2025-10-04";
src = fetchFromGitHub {
owner = "VirtCode";
repo = "hypr-dynamic-cursors";
rev = "acac1f9a5c896ba934af1fc2414670c752ae529d";
hash = "sha256-SoJqyXFKKg1jAUHSY7JqOLlxBpToejnIQ6QOOW5gNFM=";
};
dontUseCmakeConfigure = true;
installPhase = ''
runHook preInstall
mkdir -p $out/lib
mv out/dynamic-cursors.so $out/lib/libhypr-dynamic-cursors.so
runHook postInstall
'';
passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
meta = {
description = "Plugin to make your Hyprland cursor more realistic";
homepage = "https://github.com/VirtCode/hypr-dynamic-cursors";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ donovanglover ];
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,46 @@
{
lib,
mkHyprlandPlugin,
fetchFromGitHub,
cmake,
doctest,
meson,
ninja,
wf-touch,
nix-update-script,
}:
mkHyprlandPlugin {
pluginName = "hyprgrass";
version = "0.8.2-unstable-2025-05-08";
src = fetchFromGitHub {
owner = "horriblename";
repo = "hyprgrass";
rev = "7cf3779b5cdc6fa62fdc733b30c31a5b8e48609c";
hash = "sha256-8Sl2V23EYcZMniBLmKenxH7bMLTGC6Q84ntyFvOUkWU=";
};
nativeBuildInputs = [
cmake
doctest
meson
ninja
];
buildInputs = [ wf-touch ];
dontUseCmakeConfigure = true;
doCheck = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "Hyprland plugin for touch gestures";
homepage = "https://github.com/horriblename/hyprgrass";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ donovanglover ];
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,52 @@
let
# shared src for upstream hyprland-plugins repo
# function generating derivations for all plugins in hyprland-plugins
hyprland-plugins =
builtins.mapAttrs
(
name: description:
(
{
lib,
cmake,
fetchFromGitHub,
mkHyprlandPlugin,
}:
let
version = "0.51.0";
hyprland-plugins-src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprland-plugins";
tag = "v${version}";
hash = "sha256-6jAtMjnWq8kty/dpPbIKxIupUG+WAE2AKMIKhxdLYNo=";
};
in
mkHyprlandPlugin {
pluginName = name;
inherit version;
src = "${hyprland-plugins-src}/${name}";
nativeBuildInputs = [ cmake ];
meta = {
homepage = "https://github.com/hyprwm/hyprland-plugins";
description = "Hyprland ${description} plugin";
license = lib.licenses.bsd3;
teams = [ lib.teams.hyprland ];
};
}
)
)
{
borders-plus-plus = "multiple borders";
csgo-vulkan-fix = "CS:GO/CS2 Vulkan fix";
hyprbars = "window title";
hyprexpo = "workspaces overview";
hyprfocus = "flashfocus";
hyprscrolling = "scrolling layout";
hyprtrails = "smooth trails behind moving windows";
hyprwinwrap = "xwinwrap-like";
xtra-dispatchers = "extra dispatchers";
};
in
hyprland-plugins

View File

@@ -0,0 +1,39 @@
{
lib,
fetchFromGitHub,
mkHyprlandPlugin,
nix-update-script,
}:
mkHyprlandPlugin {
pluginName = "hyprspace";
version = "0-unstable-2025-09-28";
src = fetchFromGitHub {
owner = "KZDKM";
repo = "hyprspace";
rev = "e54884da1d6a1af76af9d053887bf3750dd554fd";
hash = "sha256-QhcOFLJYC9CiSVPkci62ghMEAJChzl+L98To1pKvnRQ=";
};
dontUseCmakeConfigure = true;
installPhase = ''
runHook preInstall
mkdir -p $out/lib
mv Hyprspace.so $out/lib/libhyprspace.so
runHook postInstall
'';
passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
meta = {
homepage = "https://github.com/KZDKM/Hyprspace";
description = "Workspace overview plugin for Hyprland";
license = lib.licenses.gpl2Only;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ donovanglover ];
};
}

View File

@@ -0,0 +1,35 @@
{
lib,
meson,
fetchFromGitHub,
ninja,
mkHyprlandPlugin,
nix-update-script,
}:
mkHyprlandPlugin (finalAttrs: {
pluginName = "hyprsplit";
version = "0.51.1";
src = fetchFromGitHub {
owner = "shezdy";
repo = "hyprsplit";
tag = "v${finalAttrs.version}";
hash = "sha256-7cnfq7fXgJHkmHyvRwx8UsUdUwUEN4A1vUGgsSb4SmI=";
};
nativeBuildInputs = [
meson
ninja
];
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://github.com/shezdy/hyprsplit";
description = "Hyprland plugin for awesome / dwm like workspaces";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
aacebedo
];
};
})