Loading pkgs/by-name/ch/cherry-studio/package.nix +14 −38 Original line number Diff line number Diff line { lib, stdenv, stdenvNoCC, fetchFromGitHub, cacert, yarn-berry, nodejs, electron, makeWrapper, writableTmpDirAsHomeHook, makeDesktopItem, copyDesktopItems, nix-update-script, commandLineArgs ? "", }: stdenv.mkDerivation (finalAttrs: { stdenvNoCC.mkDerivation (finalAttrs: { pname = "cherry-studio"; version = "1.0.1"; version = "1.1.8"; src = fetchFromGitHub { owner = "CherryHQ"; repo = "cherry-studio"; tag = "v${finalAttrs.version}"; hash = "sha256-C8D0XCwIFWG+5WakAK+TmI4VVuIYJBSgkv5ynM2Ewkc="; hash = "sha256-zZwweJso4KaJMXNUJ+kEvbkHOkhvvPv/IYu/evXzsWs="; }; yarnOfflineCache = stdenvNoCC.mkDerivation { Loading @@ -36,28 +33,11 @@ stdenv.mkDerivation (finalAttrs: { writableTmpDirAsHomeHook ]; postConfigure = let supportedArchitectures = builtins.toJSON { os = [ "darwin" "linux" ]; cpu = [ "x64" "ia32" "arm64" ]; libc = [ "glibc" "musl" ]; }; in '' postConfigure = '' yarn config set enableTelemetry false yarn config set enableGlobalCache false yarn config set supportedArchitectures --json '${supportedArchitectures}' yarn config set --json supportedArchitectures.os '[ "linux", "darwin" ]' yarn config set --json supportedArchitectures.cpu '["arm", "arm64", "ia32", "x64"]' yarn config set cacheFolder $out ''; Loading @@ -70,7 +50,7 @@ stdenv.mkDerivation (finalAttrs: { ''; outputHashMode = "recursive"; outputHash = "sha256-DrEkaXkbaY40uYH7niT10OFJH+PD7ip3A4OCwbKmtz8="; outputHash = "sha256-HKtd+zdP7e/6vmlL4NS8X8gZ8AhxThtOS7taQ+iAnK0="; }; nativeBuildInputs = [ Loading @@ -80,11 +60,7 @@ stdenv.mkDerivation (finalAttrs: { copyDesktopItems ]; env = { ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; npm_config_build_from_source = "true"; npm_config_nodedir = nodejs; }; env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; postConfigure = '' yarn config set enableTelemetry false Loading Loading @@ -126,7 +102,7 @@ stdenv.mkDerivation (finalAttrs: { mkdir -p $out/lib/cherry-studio cp -r dist/linux-unpacked/{resources,LICENSE*} $out/lib/cherry-studio install -Dm644 build/icon.png $out/share/pixmaps/cherry-studio.png makeWrapper "${lib.getExe electron}" $out/bin/cherry-studio \ makeWrapper ${lib.getExe electron} $out/bin/cherry-studio \ --inherit-argv0 \ --add-flags $out/lib/cherry-studio/resources/app.asar \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ Loading @@ -135,7 +111,7 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; passthru.updateScript = nix-update-script { }; passthru.updateScript = ./update.sh; meta = { description = "Desktop client that supports for multiple LLM providers"; Loading pkgs/by-name/ch/cherry-studio/update.sh 0 → 100755 +16 −0 Original line number Diff line number Diff line #!/usr/bin/env nix-shell #!nix-shell -i bash -p curl gnused jq nix bash coreutils nix-update set -eou pipefail latestTag=$(curl ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} -sL https://api.github.com/repos/CherryHQ/cherry-studio/releases/latest | jq --raw-output .tag_name) latestVersion=$(echo "$latestTag" | sed 's/^v//') currentVersion=$(nix-instantiate --eval -E "with import ./. {}; cherry-studio.version or (lib.getVersion cherry-studio)" | tr -d '"') if [[ "$currentVersion" == "$latestVersion" ]]; then echo "package is up-to-date: $currentVersion" exit 0 fi nix-update cherry-studio --version "$latestVersion" Loading
pkgs/by-name/ch/cherry-studio/package.nix +14 −38 Original line number Diff line number Diff line { lib, stdenv, stdenvNoCC, fetchFromGitHub, cacert, yarn-berry, nodejs, electron, makeWrapper, writableTmpDirAsHomeHook, makeDesktopItem, copyDesktopItems, nix-update-script, commandLineArgs ? "", }: stdenv.mkDerivation (finalAttrs: { stdenvNoCC.mkDerivation (finalAttrs: { pname = "cherry-studio"; version = "1.0.1"; version = "1.1.8"; src = fetchFromGitHub { owner = "CherryHQ"; repo = "cherry-studio"; tag = "v${finalAttrs.version}"; hash = "sha256-C8D0XCwIFWG+5WakAK+TmI4VVuIYJBSgkv5ynM2Ewkc="; hash = "sha256-zZwweJso4KaJMXNUJ+kEvbkHOkhvvPv/IYu/evXzsWs="; }; yarnOfflineCache = stdenvNoCC.mkDerivation { Loading @@ -36,28 +33,11 @@ stdenv.mkDerivation (finalAttrs: { writableTmpDirAsHomeHook ]; postConfigure = let supportedArchitectures = builtins.toJSON { os = [ "darwin" "linux" ]; cpu = [ "x64" "ia32" "arm64" ]; libc = [ "glibc" "musl" ]; }; in '' postConfigure = '' yarn config set enableTelemetry false yarn config set enableGlobalCache false yarn config set supportedArchitectures --json '${supportedArchitectures}' yarn config set --json supportedArchitectures.os '[ "linux", "darwin" ]' yarn config set --json supportedArchitectures.cpu '["arm", "arm64", "ia32", "x64"]' yarn config set cacheFolder $out ''; Loading @@ -70,7 +50,7 @@ stdenv.mkDerivation (finalAttrs: { ''; outputHashMode = "recursive"; outputHash = "sha256-DrEkaXkbaY40uYH7niT10OFJH+PD7ip3A4OCwbKmtz8="; outputHash = "sha256-HKtd+zdP7e/6vmlL4NS8X8gZ8AhxThtOS7taQ+iAnK0="; }; nativeBuildInputs = [ Loading @@ -80,11 +60,7 @@ stdenv.mkDerivation (finalAttrs: { copyDesktopItems ]; env = { ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; npm_config_build_from_source = "true"; npm_config_nodedir = nodejs; }; env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; postConfigure = '' yarn config set enableTelemetry false Loading Loading @@ -126,7 +102,7 @@ stdenv.mkDerivation (finalAttrs: { mkdir -p $out/lib/cherry-studio cp -r dist/linux-unpacked/{resources,LICENSE*} $out/lib/cherry-studio install -Dm644 build/icon.png $out/share/pixmaps/cherry-studio.png makeWrapper "${lib.getExe electron}" $out/bin/cherry-studio \ makeWrapper ${lib.getExe electron} $out/bin/cherry-studio \ --inherit-argv0 \ --add-flags $out/lib/cherry-studio/resources/app.asar \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ Loading @@ -135,7 +111,7 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; passthru.updateScript = nix-update-script { }; passthru.updateScript = ./update.sh; meta = { description = "Desktop client that supports for multiple LLM providers"; Loading
pkgs/by-name/ch/cherry-studio/update.sh 0 → 100755 +16 −0 Original line number Diff line number Diff line #!/usr/bin/env nix-shell #!nix-shell -i bash -p curl gnused jq nix bash coreutils nix-update set -eou pipefail latestTag=$(curl ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} -sL https://api.github.com/repos/CherryHQ/cherry-studio/releases/latest | jq --raw-output .tag_name) latestVersion=$(echo "$latestTag" | sed 's/^v//') currentVersion=$(nix-instantiate --eval -E "with import ./. {}; cherry-studio.version or (lib.getVersion cherry-studio)" | tr -d '"') if [[ "$currentVersion" == "$latestVersion" ]]; then echo "package is up-to-date: $currentVersion" exit 0 fi nix-update cherry-studio --version "$latestVersion"