13 stdenvNoCC.mkDerivation (finalAttrs: {
19 aarch64-darwin = fetchurl {
21 url = "https://releases.raycast.com/releases/${finalAttrs.version}/download?build=arm";
22 hash = "sha256-3++hipn/7dJKQhY1gh8v/OsY+R316n5EJcEcmOheYnM=";
24 x86_64-darwin = fetchurl {
26 url = "https://releases.raycast.com/releases/${finalAttrs.version}/download?build=x86_64";
27 hash = "sha256-qa4ESWW6voh45Kl0ydL6kyTwH8MNUNnyRSlFJcu3trI=";
30 .${stdenvNoCC.system} or (throw "raycast: ${stdenvNoCC.system} is unsupported.");
37 nativeBuildInputs = [ undmg ];
39 sourceRoot = "Raycast.app";
44 mkdir -p $out/Applications/Raycast.app
45 cp -R . $out/Applications/Raycast.app
50 passthru.updateScript = lib.getExe (writeShellApplication {
51 name = "raycast-update-script";
59 url=$(curl --silent "https://releases.raycast.com/releases/latest?build=universal")
60 version=$(echo "$url" | jq -r '.version')
62 arm_url="https://releases.raycast.com/releases/$version/download?build=arm"
63 x86_url="https://releases.raycast.com/releases/$version/download?build=x86_64"
65 arm_hash="sha256-$(curl -sL "$arm_url" | openssl dgst -sha256 -binary | openssl base64)"
66 x86_hash="sha256-$(curl -sL "$x86_url" | openssl dgst -sha256 -binary | openssl base64)"
69 -e 's|(version = )"[0-9]+\.[0-9]+\.[0-9]+";|\1"'"$version"'";|' \
70 -e '/aarch64-darwin = fetchurl/,/};/ s|(hash = )"sha256-[A-Za-z0-9+/]+=";|\1"'"$arm_hash"'";|' \
71 -e '/x86_64-darwin = fetchurl/,/};/ s|(hash = )"sha256-[A-Za-z0-9+/]+=";|\1"'"$x86_hash"'";|' \
72 ./pkgs/by-name/ra/raycast/package.nix
77 description = "Control your tools with a few keystrokes";
78 homepage = "https://raycast.app/";
79 license = lib.licenses.unfree;
80 maintainers = with lib.maintainers; [
90 sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];