diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 0a703a29b7b5..fa4309e9bf69 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -14237,6 +14237,12 @@ githubId = 8211181; name = "Kevin Kandlbinder"; }; + kevinpita = { + email = "gitkevin@pm.me"; + github = "kevinpita"; + githubId = 69063372; + name = "Kevin Pita"; + }; keyruu = { name = "Lucas"; email = "me@keyruu.de"; diff --git a/pkgs/by-name/he/herdr/package.nix b/pkgs/by-name/he/herdr/package.nix new file mode 100644 index 000000000000..8b6971264498 --- /dev/null +++ b/pkgs/by-name/he/herdr/package.nix @@ -0,0 +1,58 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + zig_0_15, + nix-update-script, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "herdr"; + version = "0.7.0"; + + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "ogulcancelik"; + repo = "herdr"; + tag = "v${finalAttrs.version}"; + hash = "sha256-DjCSwhRMBRE9lSvjpX6m8IpoEgUbOP1jcmeXMlQlSQY="; + }; + + cargoHash = "sha256-NHVSdXlGsqhI/Mij28TvdW0f6IKOglNgpBNb2sFXocI="; + + zigDeps = zig_0_15.fetchDeps { + inherit (finalAttrs) pname version; + src = "${finalAttrs.src}/vendor/libghostty-vt"; + fetchAll = true; + hash = "sha256-pgGu8+NwvFcj6SrN4VaTHLeHdA7QY731ctyrHZwgFAc="; + }; + + nativeBuildInputs = [ zig_0_15.hook ]; + + # Upstream binary tests are renamed, added, or changed between releases and + # depend on host process details, so Nix-only patches for them are brittle. + doCheck = false; + + dontUseZigBuild = true; + dontUseZigCheck = true; + dontUseZigInstall = true; + + postConfigure = '' + export ZIG_GLOBAL_CACHE_DIR=$(mktemp -d) + cp -rL ${finalAttrs.zigDeps} "$ZIG_GLOBAL_CACHE_DIR/p" + chmod -R u+w "$ZIG_GLOBAL_CACHE_DIR/p" + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Agent multiplexer that lives in your terminal"; + homepage = "https://github.com/ogulcancelik/herdr"; + changelog = "https://github.com/ogulcancelik/herdr/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.agpl3Only; + maintainers = with lib.maintainers; [ kevinpita ]; + mainProgram = "herdr"; + platforms = lib.platforms.unix; + }; +})