about summary refs log tree commit diff
path: root/pkgs/cider2
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/cider2')
-rw-r--r--pkgs/cider2/default.nix62
1 files changed, 62 insertions, 0 deletions
diff --git a/pkgs/cider2/default.nix b/pkgs/cider2/default.nix
new file mode 100644
index 0000000..2496c8c
--- /dev/null
+++ b/pkgs/cider2/default.nix
@@ -0,0 +1,62 @@
+{
+  appimageTools,
+  dieHook,
+  lib,
+  makeWrapper,
+  requireFile,
+}:
+
+appimageTools.wrapType2 rec {
+  pname = "cider2";
+  version = "2.4.1";
+
+  src = requireFile rec {
+    name = "Cider-linux-appimage-x64.AppImage";
+    sha256 = "1ds7grjr52ssf1q0sm9jk7hxhskfxj6b5pzrmibliglhbzblflx7";
+    message = ''
+      Starting from Cider 2, Cider is no longer open source.
+      In order to install Cider 2, you must first obtain the
+      AppImage from Cider Collective's itch.io page:
+
+      https://cidercollective.itch.io/cider
+
+      Once you have downloaded the file, please use the following
+      commands and re-run the installation:
+
+      nix-prefetch-url file://\$PWD/${name}
+
+      Alternatively, you can use the following command to download the
+      file directly:
+
+      nix-prefetch-url --name ${name} <ITCH_IO_DOWNLOAD_URL>
+    '';
+  };
+
+  extraInstallCommands =
+    let contents = appimageTools.extract { inherit pname version src; };
+    in ''
+    source "${dieHook}/nix-support/setup-hook"
+    source "${makeWrapper}/nix-support/setup-hook"
+    wrapProgram $out/bin/${pname} \
+      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
+
+    install -m 444 -D ${contents}/cider.desktop -t $out/share/applications
+    substituteInPlace $out/share/applications/cider.desktop \
+      --replace-warn 'Exec=AppRun' 'Exec=${pname}'
+    cp -r ${contents}/usr/share/icons $out/share
+
+    # We introduce a dependency on the source file so that it need not be redownloaded every time
+    echo ${src} >> "$out/share/workspace_dependencies.pin"
+  '';
+
+  meta = with lib; {
+    description = "New look into listening and enjoying Apple Music in style and performance";
+    homepage = "https://cidercollective.itch.io/cider";
+    hydraPlatforms = [ ];
+    license = licenses.unfree;
+    mainProgram = "cider2";
+    maintainers = with maintainers; [ sefidel ];
+    platforms = [ "x86_64-linux" ];
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+  };
+}