From 061bfb9003c3937361545c9c61deb7be7a41ee24 Mon Sep 17 00:00:00 2001 From: Eduardo Maia Date: Sun, 2 Nov 2025 19:58:34 -0300 Subject: [PATCH 1/2] maintainers: add emaiax --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 02091e05b2c9..1198eec75c0b 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -7666,6 +7666,12 @@ githubId = 1365692; name = "Will Fancher"; }; + emaiax = { + email = "github@emaiax.dev"; + github = "emaiax"; + githubId = 1289661; + name = "Eduardo Maia"; + }; emantor = { email = "rouven+nixos@czerwinskis.de"; github = "Emantor"; From e4e516d13fbe6c02849bef34be88c4c04726a5e0 Mon Sep 17 00:00:00 2001 From: Eduardo Maia Date: Sun, 2 Nov 2025 20:59:21 -0300 Subject: [PATCH 2/2] iterm2: `3.5.14` -> `3.6.6`, update script and new maintainer --- pkgs/by-name/it/iterm2/package.nix | 7 ++++-- pkgs/by-name/it/iterm2/update.sh | 36 ++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) create mode 100755 pkgs/by-name/it/iterm2/update.sh diff --git a/pkgs/by-name/it/iterm2/package.nix b/pkgs/by-name/it/iterm2/package.nix index b441940fb430..8aee84e814ee 100644 --- a/pkgs/by-name/it/iterm2/package.nix +++ b/pkgs/by-name/it/iterm2/package.nix @@ -15,13 +15,13 @@ stdenvNoCC.mkDerivation rec { pname = "iterm2"; - version = "3.5.14"; + version = "3.6.6"; src = fetchzip { url = "https://iterm2.com/downloads/stable/iTerm2-${ lib.replaceStrings [ "." ] [ "_" ] version }.zip"; - hash = "sha256-cF7gg4kT0z/7Qu7d6AyXpnvrSQ937JbFUgpXw5F4AWE="; + hash = "sha256-n3VoRxMOBQK/8mbVbORSBz73tsuKAUMG7dFZIbaqdHU="; }; dontFixup = true; @@ -40,6 +40,8 @@ stdenvNoCC.mkDerivation rec { runHook postInstall ''; + passthru.updateScript = ./update.sh; + meta = with lib; { description = "Replacement for Terminal and the successor to iTerm"; homepage = "https://www.iterm2.com/"; @@ -48,6 +50,7 @@ stdenvNoCC.mkDerivation rec { maintainers = with maintainers; [ steinybot tricktron + emaiax ]; platforms = [ "x86_64-darwin" diff --git a/pkgs/by-name/it/iterm2/update.sh b/pkgs/by-name/it/iterm2/update.sh new file mode 100755 index 000000000000..8a36786c47f4 --- /dev/null +++ b/pkgs/by-name/it/iterm2/update.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl coreutils common-updater-scripts +set -eu -o pipefail + +currentVersion=$(nix-instantiate --eval -E "with import ./. {}; iterm2.version or (lib.getVersion iterm2)" | tr -d '"') + +downloadUrl=$( + curl -sL "https://iterm2.com/downloads.html" | + grep -o -E 'href="[^"]*iTerm2[^"]*\.zip"' | + sed 's/href="//;s/"//' | + head -1 +) + +if [[ -z "$downloadUrl" ]]; then + echo >&2 "Failed to extract download url from iTerm2 downloads page" + exit 1 +fi + +version=$(echo "$downloadUrl" | sed -E ' + s/.*iTerm2-?// # Remove iTerm2 link prefix from download url + s/[vV]// # Remove version "v" prefix + s/\.zip$// # Remove .zip extension + s/_/./g # Convert underscores to dots +') + +# iterm2 is already up to date +if [[ "$version" == "$currentVersion" ]]; then + exit 0 +fi + +# Update package version +# +source=$(nix-prefetch-url "$downloadUrl" --unpack --name "iterm2-$version") +hash=$(nix-hash --to-sri --type sha256 "$source") + +update-source-version iterm2 $version $hash --ignore-same-version --ignore-same-hash