diff options
Diffstat (limited to 'pkgs/applications/window-managers/hyprwm')
11 files changed, 297 insertions, 37 deletions
diff --git a/pkgs/applications/window-managers/hyprwm/hyprland-plugins/default.nix b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/default.nix index f994b19175209..2970e724b3fda 100644 --- a/pkgs/applications/window-managers/hyprwm/hyprland-plugins/default.nix +++ b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/default.nix @@ -26,6 +26,12 @@ let 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; } + { hyprscroller = import ./hyprscroller.nix; } + { hyprspace = import ./hyprspace.nix; } (import ./hyprland-plugins.nix) ]; in diff --git a/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hycov.nix b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hycov.nix new file mode 100644 index 0000000000000..be074e0c5e83e --- /dev/null +++ b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hycov.nix @@ -0,0 +1,32 @@ +{ + lib, + mkHyprlandPlugin, + hyprland, + cmake, + fetchFromGitHub, + nix-update-script, +}: + +mkHyprlandPlugin hyprland rec { + pluginName = "hycov"; + version = "0.41.2.1"; + + src = fetchFromGitHub { + owner = "DreamMaoMao"; + repo = "hycov"; + rev = 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; + }; +} diff --git a/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hypr-dynamic-cursors.nix b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hypr-dynamic-cursors.nix new file mode 100644 index 0000000000000..a13cd43c58a73 --- /dev/null +++ b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hypr-dynamic-cursors.nix @@ -0,0 +1,37 @@ +{ + lib, + mkHyprlandPlugin, + fetchFromGitHub, + hyprland, +}: + +mkHyprlandPlugin hyprland { + pluginName = "hypr-dynamic-cursors"; + version = "0-unstable-2024-07-06"; + + src = fetchFromGitHub { + owner = "VirtCode"; + repo = "hypr-dynamic-cursors"; + rev = "85423b074e112f28e84f6276d31d1548906a625e"; + hash = "sha256-lCAZ/7xtOE6P7uPIX2uQgC0nDOBZefWYO3O3izRx19E="; + }; + + dontUseCmakeConfigure = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib + mv out/dynamic-cursors.so $out/lib/libdynamic-cursors.so + + runHook postInstall + ''; + + 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; + }; +} diff --git a/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprfocus.nix b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprfocus.nix new file mode 100644 index 0000000000000..f58cc54a8eb56 --- /dev/null +++ b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprfocus.nix @@ -0,0 +1,35 @@ +{ + lib, + mkHyprlandPlugin, + hyprland, + fetchFromGitHub, +}: + +mkHyprlandPlugin hyprland { + pluginName = "hyprfocus"; + version = "0-unstable-2024-05-30"; + + src = fetchFromGitHub { + owner = "pyt0xic"; + repo = "hyprfocus"; + rev = "aa7262d3a4564062f97b9cfdad47fd914cfb80f2"; + hash = "sha256-R1ZgNhQkoS6ZHRRKB+j5vYgRANfYO//sHbrD7moUTx0="; + }; + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib + mv hyprfocus.so $out/lib/libhyprfocus.so + + runHook postInstall + ''; + + meta = { + homepage = "https://github.com/pyt0xic/hyprfocus"; + description = "Focus animation plugin for Hyprland inspired by Flashfocus"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ donovanglover ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprgrass.nix b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprgrass.nix new file mode 100644 index 0000000000000..f493ec6e526d4 --- /dev/null +++ b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprgrass.nix @@ -0,0 +1,47 @@ +{ + lib, + mkHyprlandPlugin, + hyprland, + fetchFromGitHub, + cmake, + doctest, + meson, + ninja, + wf-touch, + nix-update-script, +}: + +mkHyprlandPlugin hyprland rec { + pluginName = "hyprgrass"; + version = "0.7.0"; + + src = fetchFromGitHub { + owner = "horriblename"; + repo = "hyprgrass"; + rev = "v${version}"; + hash = "sha256-DfM2BqnFW48NlHkBfC7ErHgK7WHlOgiiE+aFetN/yJ4="; + }; + + 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; + }; +} diff --git a/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprscroller.nix b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprscroller.nix new file mode 100644 index 0000000000000..f94da804d370a --- /dev/null +++ b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprscroller.nix @@ -0,0 +1,41 @@ +{ + lib, + mkHyprlandPlugin, + hyprland, + cmake, + fetchFromGitHub, + unstableGitUpdater, +}: + +mkHyprlandPlugin hyprland { + pluginName = "hyprscroller"; + version = "0-unstable-2024-07-04"; + + src = fetchFromGitHub { + owner = "dawsers"; + repo = "hyprscroller"; + rev = "bef840b3f0fd3d37b5c1c9f2704b2efb60173184"; + hash = "sha256-vkpGSseA7n0/Y+83snbEe7Z++2akdDbvv7eZzM9V3wI="; + }; + + nativeBuildInputs = [ cmake ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib + mv hyprscroller.so $out/lib/libhyprscroller.so + + runHook postInstall + ''; + + passthru.updateScript = unstableGitUpdater { }; + + meta = { + homepage = "https://github.com/dawsers/hyprscroller"; + description = "Hyprland layout plugin providing a scrolling layout like PaperWM"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ donovanglover ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprspace.nix b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprspace.nix new file mode 100644 index 0000000000000..66d6fcd7506ef --- /dev/null +++ b/pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprspace.nix @@ -0,0 +1,44 @@ +{ + lib, + fetchFromGitHub, + fetchpatch, + hyprland, + mkHyprlandPlugin, +}: + +mkHyprlandPlugin hyprland { + pluginName = "hyprspace"; + version = "0-unstable-2024-06-17"; + + src = fetchFromGitHub { + owner = "KZDKM"; + repo = "hyprspace"; + rev = "2f3edb68f47a8f5d99d10b322e9a85a285f53cc7"; + hash = "sha256-iyj4D6c77uROAH9QdZjPd9SKnS/DuACMESqaEKnBgI8="; + }; + + # Fix build for Hyprland v0.41.2+ + patches = fetchpatch { + url = "https://github.com/KZDKM/Hyprspace/commit/edad6cf735097b7cb4406d3fc8daddd09dfa458a.patch"; + hash = "sha256-EVabjPymGAMPtC3Uf6lMJOInvccJhu4t09NXhXhq4RY="; + }; + + dontUseCmakeConfigure = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib + mv Hyprspace.so $out/lib/libhyprspace.so + + runHook postInstall + ''; + + 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 ]; + }; +} diff --git a/pkgs/applications/window-managers/hyprwm/hyprland-protocols/default.nix b/pkgs/applications/window-managers/hyprwm/hyprland-protocols/default.nix index 8815205b0e9d1..a1269307c9581 100644 --- a/pkgs/applications/window-managers/hyprwm/hyprland-protocols/default.nix +++ b/pkgs/applications/window-managers/hyprwm/hyprland-protocols/default.nix @@ -10,7 +10,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "hyprwm"; - repo = finalAttrs.pname; + repo = "hyprland-protocols"; rev = "v${finalAttrs.version}"; hash = "sha256-HUklK5u86w2Yh9dOkk4FdsL8eehcOZ95jPhLixGDRQY="; }; diff --git a/pkgs/applications/window-managers/hyprwm/hyprpaper/default.nix b/pkgs/applications/window-managers/hyprwm/hyprpaper/default.nix index 9da143be08bf1..17bf63a727537 100644 --- a/pkgs/applications/window-managers/hyprwm/hyprpaper/default.nix +++ b/pkgs/applications/window-managers/hyprwm/hyprpaper/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "hyprwm"; - repo = finalAttrs.pname; + repo = "hyprpaper"; rev = "v${finalAttrs.version}"; hash = "sha256-l13c8ALA7ZKDgluYA1C1OfkDGYD6e1/GR6LJnxCLRhA="; }; diff --git a/pkgs/applications/window-managers/hyprwm/hyprpicker/default.nix b/pkgs/applications/window-managers/hyprwm/hyprpicker/default.nix index 4089d82a3b977..0ee4884f5b6f1 100644 --- a/pkgs/applications/window-managers/hyprwm/hyprpicker/default.nix +++ b/pkgs/applications/window-managers/hyprwm/hyprpicker/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "hyprwm"; - repo = finalAttrs.pname; + repo = "hyprpicker"; rev = "v${finalAttrs.version}"; hash = "sha256-BYQF1zM6bJ44ag9FJ0aTSkhOTY9U7uRdp3SmRCs5fJM="; }; diff --git a/pkgs/applications/window-managers/hyprwm/xdg-desktop-portal-hyprland/default.nix b/pkgs/applications/window-managers/hyprwm/xdg-desktop-portal-hyprland/default.nix index 609da88715661..322962123547c 100644 --- a/pkgs/applications/window-managers/hyprwm/xdg-desktop-portal-hyprland/default.nix +++ b/pkgs/applications/window-managers/hyprwm/xdg-desktop-portal-hyprland/default.nix @@ -1,36 +1,39 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, pkg-config -, wayland-scanner -, makeWrapper -, wrapQtAppsHook -, hyprland-protocols -, hyprlang -, libdrm -, mesa -, pipewire -, qtbase -, qttools -, qtwayland -, sdbus-cpp -, systemd -, wayland -, wayland-protocols -, hyprland -, hyprpicker -, slurp +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, + cmake, + pkg-config, + wayland-scanner, + makeWrapper, + wrapQtAppsHook, + nix-update-script, + hyprland-protocols, + hyprlang, + libdrm, + mesa, + pipewire, + qtbase, + qttools, + qtwayland, + sdbus-cpp, + systemd, + wayland, + wayland-protocols, + hyprland, + hyprpicker, + slurp, }: -stdenv.mkDerivation (self: { +stdenv.mkDerivation (finalAttrs: { pname = "xdg-desktop-portal-hyprland"; - version = "1.3.2"; + version = "1.3.3"; src = fetchFromGitHub { owner = "hyprwm"; repo = "xdg-desktop-portal-hyprland"; - rev = "v${self.version}"; - hash = "sha256-KsX7sAwkEFpXiwyjt0HGTnnrUU58wW1jlzj5IA/LRz8="; + rev = "v${finalAttrs.version}"; + hash = "sha256-cyyxu/oj4QEFp3CVx2WeXa9T4OAUyynuBJHGkBZSxJI="; }; nativeBuildInputs = [ @@ -61,18 +64,33 @@ stdenv.mkDerivation (self: { postInstall = '' wrapProgramShell $out/bin/hyprland-share-picker \ "''${qtWrapperArgs[@]}" \ - --prefix PATH ":" ${lib.makeBinPath [slurp hyprland]} + --prefix PATH ":" ${ + lib.makeBinPath [ + slurp + hyprland + ] + } wrapProgramShell $out/libexec/xdg-desktop-portal-hyprland \ - --prefix PATH ":" ${lib.makeBinPath [(placeholder "out") hyprpicker]} + --prefix PATH ":" ${ + lib.makeBinPath [ + (placeholder "out") + hyprpicker + ] + } ''; - meta = with lib; { - homepage = "https://github.com/hyprwm/xdg-desktop-portal-hyprland"; + passthru = { + updateScript = nix-update-script { }; + }; + + meta = { description = "xdg-desktop-portal backend for Hyprland"; + homepage = "https://github.com/hyprwm/xdg-desktop-portal-hyprland"; + changelog = "https://github.com/hyprwm/xdg-desktop-portal-hyprland/releases/tag/v${finalAttrs.version}"; mainProgram = "hyprland-share-picker"; - license = licenses.bsd3; - maintainers = with maintainers; [ fufexan ]; - platforms = platforms.linux; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ fufexan ]; + platforms = lib.platforms.linux; }; }) |