diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index e5b51f01540d..60ad0594e0e2 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -16288,6 +16288,11 @@ githubId = 5104601; name = "schnusch"; }; + Schweber = { + github = "Schweber"; + githubId = 64630479; + name = "Schweber"; + }; sciencentistguy = { email = "jamie@quigley.xyz"; name = "Jamie Quigley"; diff --git a/pkgs/by-name/hd/hdrop/package.nix b/pkgs/by-name/hd/hdrop/package.nix new file mode 100755 index 000000000000..940cdf8f66b3 --- /dev/null +++ b/pkgs/by-name/hd/hdrop/package.nix @@ -0,0 +1,52 @@ +{ lib +, stdenvNoCC +, fetchFromGitHub +, makeWrapper +, scdoc +, coreutils +, util-linux +, jq +, libnotify +, withHyprland ? true +, hyprland +}: + +stdenvNoCC.mkDerivation rec { + pname = "hdrop"; + version = "0.2.4"; + + src = fetchFromGitHub { + owner = "Schweber"; + repo = "hdrop"; + rev = "v${version}"; + hash = "sha256-VsM1wPl8edAnZUvYw3IeOHw/XQ2pvbLt0v3G0B8+iSA="; + }; + + nativeBuildInputs = [ + makeWrapper + scdoc + ]; + + makeFlags = [ "PREFIX=$(out)" ]; + + postInstall = '' + wrapProgram $out/bin/hdrop --prefix PATH ':' \ + "${lib.makeBinPath ([ + coreutils + util-linux + jq + libnotify + ] + ++ lib.optional withHyprland hyprland)}" + ''; + + meta = with lib; { + description = "Emulate 'tdrop' in Hyprland (run, show and hide specific programs per keybind)"; + homepage = "https://github.com/Schweber/hdrop"; + changelog = "https://github.com/Schweber/hdrop/releases/tag/v${version}"; + license = licenses.agpl3; + platforms = platforms.linux; + maintainers = with maintainers; [ Schweber ]; + mainProgram = "hdrop"; + }; +}