summary refs log tree commit diff
path: root/pkgs/os-specific
diff options
context:
space:
mode:
authorStepBroBD <Hi@StepBroBD.com>2023-03-27 22:29:01 -0600
committerStepBroBD <Hi@StepBroBD.com>2023-03-29 15:46:48 -0600
commit281d7c21c8f64285a9bbd0d4d8d06197fcad23e3 (patch)
tree77c7cee7045c39e36cb7eba92463e551d012ab59 /pkgs/os-specific
parent0bfce55798f268c614aafc129fcb1a94241b33e4 (diff)
downloadnixpkgs-281d7c21c8f64285a9bbd0d4d8d06197fcad23e3.tar
nixpkgs-281d7c21c8f64285a9bbd0d4d8d06197fcad23e3.tar.gz
nixpkgs-281d7c21c8f64285a9bbd0d4d8d06197fcad23e3.tar.bz2
nixpkgs-281d7c21c8f64285a9bbd0d4d8d06197fcad23e3.tar.lz
nixpkgs-281d7c21c8f64285a9bbd0d4d8d06197fcad23e3.tar.xz
nixpkgs-281d7c21c8f64285a9bbd0d4d8d06197fcad23e3.tar.zst
nixpkgs-281d7c21c8f64285a9bbd0d4d8d06197fcad23e3.zip
raycast: init at 1.48.9
* raycast: init at 1.48.9, change github release url to internet archive url

* raycast: adding documentation explaining the reason we are using Internet Archive URL

* raycast: add lovesegfault to maintainers

Co-authored-by: Bernardo Meurer <bernardo@meurer.org>
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r--pkgs/os-specific/darwin/raycast/default.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/pkgs/os-specific/darwin/raycast/default.nix b/pkgs/os-specific/darwin/raycast/default.nix
new file mode 100644
index 00000000000..6dd15fc92a1
--- /dev/null
+++ b/pkgs/os-specific/darwin/raycast/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, stdenvNoCC
+, fetchurl
+, undmg
+}:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "raycast";
+  version = "1.48.9";
+
+  src = fetchurl {
+    # https://github.com/NixOS/nixpkgs/pull/223495
+    # official download API: https://api.raycast.app/v2/download
+    # this returns an AWS CloudFront signed URL with expiration timestamp and signature
+    # the returned URL will always be the latest Raycast which might result in an impure derivation
+    # the package maintainer created a repo (https://github.com/stepbrobd/raycast-overlay)
+    # to host GitHub Actions to periodically check for updates
+    # and re-release the `.dmg` file to Internet Archive (https://archive.org/details/raycast)
+    url = "https://archive.org/download/raycast/raycast-${version}.dmg";
+    sha256 = "sha256-PSK/PLIOLUrqHAvEfOVMuGojLjwrCR4Vm9okE9d/5dE=";
+  };
+
+  dontPatch = true;
+  dontConfigure = true;
+  dontBuild = true;
+  dontFixup = true;
+
+  nativeBuildInputs = [ undmg ];
+
+  sourceRoot = "Raycast.app";
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/Applications/Raycast.app
+    cp -R . $out/Applications/Raycast.app
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Control your tools with a few keystrokes";
+    homepage = "https://raycast.app/";
+    license = licenses.unfree;
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    maintainers = with maintainers; [ lovesegfault stepbrobd ];
+    platforms = platforms.darwin;
+  };
+}