nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1#!/usr/bin/env nix-shell
2#!nix-shell -i bash -p curl coreutils common-updater-scripts
3set -eu -o pipefail
4
5currentVersion=$(nix-instantiate --eval -E "with import ./. {}; iterm2.version or (lib.getVersion iterm2)" | tr -d '"')
6
7downloadUrl=$(
8 curl -sL "https://iterm2.com/downloads.html" |
9 grep -o -E 'href="[^"]*iTerm2[^"]*\.zip"' |
10 sed 's/href="//;s/"//' |
11 head -1
12)
13
14if [[ -z "$downloadUrl" ]]; then
15 echo >&2 "Failed to extract download url from iTerm2 downloads page"
16 exit 1
17fi
18
19version=$(echo "$downloadUrl" | sed -E '
20 s/.*iTerm2-?// # Remove iTerm2 link prefix from download url
21 s/[vV]// # Remove version "v" prefix
22 s/\.zip$// # Remove .zip extension
23 s/_/./g # Convert underscores to dots
24')
25
26# iterm2 is already up to date
27if [[ "$version" == "$currentVersion" ]]; then
28 exit 0
29fi
30
31# Update package version
32#
33source=$(nix-prefetch-url "$downloadUrl" --unpack --name "iterm2-$version")
34hash=$(nix-hash --to-sri --type sha256 "$source")
35
36update-source-version iterm2 $version $hash --ignore-same-version --ignore-same-hash