From cf7b89e9a6705d6c7c920d7a16cf758092d85202 Mon Sep 17 00:00:00 2001 From: Mihai Fufezan Date: Fri, 21 Jun 2024 22:08:44 +0300 Subject: [PATCH] hyprlandPlugins: init upstream hyprland-plugins at 0.41.1 --- .../hyprwm/hyprland-plugins/default.nix | 7 +-- .../hyprland-plugins/hyprland-plugins.nix | 51 +++++++++++++++++++ 2 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprland-plugins.nix diff --git a/pkgs/applications/window-managers/hyprwm/hyprland-plugins/default.nix b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/default.nix index b5cf42a8148a..f994b1917520 100644 --- a/pkgs/applications/window-managers/hyprwm/hyprland-plugins/default.nix +++ b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/default.nix @@ -24,9 +24,10 @@ let } ); - plugins = { - hy3 = import ./hy3.nix; - }; + plugins = lib.mergeAttrsList [ + { hy3 = import ./hy3.nix; } + (import ./hyprland-plugins.nix) + ]; in (lib.mapAttrs (name: plugin: callPackage plugin { inherit mkHyprlandPlugin; }) plugins) // { diff --git a/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprland-plugins.nix b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprland-plugins.nix new file mode 100644 index 000000000000..8ae5348e997c --- /dev/null +++ b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprland-plugins.nix @@ -0,0 +1,51 @@ +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, + hyprland, + mkHyprlandPlugin, + }: + let + version = "0.41.1"; + + hyprland-plugins-src = fetchFromGitHub { + owner = "hyprwm"; + repo = "hyprland-plugins"; + rev = "v${version}"; + hash = "sha256-Bw3JRBUZg2kmDwxa/UHvD//gGcNjbftTj2MSeLvx1q8="; + }; + in + mkHyprlandPlugin hyprland { + 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; + maintainers = with lib.maintainers; [ fufexan ]; + platforms = lib.platforms.linux; + }; + } + ) + ) + { + borders-plus-plus = "multiple borders"; + csgo-vulkan-fix = "CS:GO/CS2 Vulkan fix"; + hyprbars = "window title"; + hyprexpo = "workspaces overview"; + hyprtrails = "smooth trails behind moving windows"; + hyprwinwrap = "xwinwrap-like"; + }; +in +hyprland-plugins