From 83891d702c23085f35b15c93de8bb36453c12a17 Mon Sep 17 00:00:00 2001 From: dfjay Date: Wed, 1 Jul 2026 00:46:02 +0500 Subject: [PATCH 1/3] jan: add update script Assisted-by: Claude Code (Claude Opus 4.8) --- pkgs/by-name/ja/jan/package.nix | 5 ++++- pkgs/by-name/ja/jan/update.sh | 24 ++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100755 pkgs/by-name/ja/jan/update.sh diff --git a/pkgs/by-name/ja/jan/package.nix b/pkgs/by-name/ja/jan/package.nix index 80c0c89f5688..932c973d6547 100644 --- a/pkgs/by-name/ja/jan/package.nix +++ b/pkgs/by-name/ja/jan/package.nix @@ -29,6 +29,8 @@ let src = linux-src; }; + passthru.updateScript = ./update.sh; + meta = { changelog = "https://github.com/janhq/jan/releases/tag/v${version}"; description = "Jan is an open source alternative to ChatGPT that runs 100% offline on your computer"; @@ -56,13 +58,14 @@ let cudaPackages.cudatoolkit ]; - inherit meta; + inherit passthru meta; }; darwin = stdenv.mkDerivation { inherit pname version + passthru meta ; diff --git a/pkgs/by-name/ja/jan/update.sh b/pkgs/by-name/ja/jan/update.sh new file mode 100755 index 000000000000..453ad670202c --- /dev/null +++ b/pkgs/by-name/ja/jan/update.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p bash nixVersions.latest curl coreutils jq common-updater-scripts + +set -euo pipefail + +latestTag=$(curl ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} -sL https://api.github.com/repos/janhq/jan/releases/latest | jq -r ".tag_name") +latestVersion="${latestTag#v}" +currentVersion=$(nix-instantiate --eval -E "with import ./. {}; jan.version" | tr -d '"') + +echo "latest version: $latestVersion" +echo "current version: $currentVersion" + +if [[ "$latestVersion" == "$currentVersion" ]]; then + echo "package is up-to-date" + exit 0 +fi + +linuxUrl="https://github.com/janhq/jan/releases/download/v$latestVersion/Jan_${latestVersion}_amd64.AppImage" +linuxHash=$(nix --extra-experimental-features nix-command hash convert --hash-algo sha256 --to sri "$(nix-prefetch-url "$linuxUrl")") +update-source-version jan "$latestVersion" "$linuxHash" --system=x86_64-linux --ignore-same-version + +darwinUrl="https://github.com/janhq/jan/releases/download/v$latestVersion/jan-mac-universal-${latestVersion}.zip" +darwinHash=$(nix --extra-experimental-features nix-command hash convert --hash-algo sha256 --to sri "$(nix-prefetch-url --unpack "$darwinUrl")") +update-source-version jan "$latestVersion" "$darwinHash" --system=aarch64-darwin --ignore-same-version From a8b1a80a6af6a775db6e00423749b510904040d1 Mon Sep 17 00:00:00 2001 From: dfjay Date: Wed, 1 Jul 2026 00:46:04 +0500 Subject: [PATCH 2/3] jan: refactor Assisted-by: Claude Code (Claude Opus 4.8) --- pkgs/by-name/ja/jan/package.nix | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/ja/jan/package.nix b/pkgs/by-name/ja/jan/package.nix index 932c973d6547..ac966ff0ab6c 100644 --- a/pkgs/by-name/ja/jan/package.nix +++ b/pkgs/by-name/ja/jan/package.nix @@ -33,9 +33,10 @@ let meta = { changelog = "https://github.com/janhq/jan/releases/tag/v${version}"; - description = "Jan is an open source alternative to ChatGPT that runs 100% offline on your computer"; + description = "Open source alternative to ChatGPT that runs 100% offline on your computer"; homepage = "https://github.com/janhq/jan"; license = lib.licenses.asl20; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; mainProgram = "Jan"; maintainers = with lib.maintainers; [ dfjay ]; platforms = @@ -62,22 +63,16 @@ let }; darwin = stdenv.mkDerivation { - inherit - pname - version - passthru - meta - ; + inherit pname version; src = darwin-src; - dontUnpack = true; - - sourceRoot = "${pname}.app"; nativeBuildInputs = [ makeWrapper ]; + dontUnpack = true; + installPhase = '' runHook preInstall @@ -90,6 +85,8 @@ let runHook postInstall ''; + + inherit passthru meta; }; in if stdenv.hostPlatform.isDarwin then darwin else linux From 823c46ee6fd319b71d953d8d466bf19cfdc34fbf Mon Sep 17 00:00:00 2001 From: dfjay Date: Wed, 1 Jul 2026 00:46:06 +0500 Subject: [PATCH 3/3] jan: 0.8.2 -> 0.8.3 Assisted-by: Claude Code (Claude Opus 4.8) --- pkgs/by-name/ja/jan/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/ja/jan/package.nix b/pkgs/by-name/ja/jan/package.nix index ac966ff0ab6c..9babfa1c0049 100644 --- a/pkgs/by-name/ja/jan/package.nix +++ b/pkgs/by-name/ja/jan/package.nix @@ -12,16 +12,16 @@ let pname = "Jan"; - version = "0.8.2"; + version = "0.8.3"; darwin-src = fetchzip { url = "https://github.com/janhq/jan/releases/download/v${version}/jan-mac-universal-${version}.zip"; - hash = "sha256-DUyPMsy9POcxY5OyQu1IBAijTbUZACQB87j0CQDrw8A="; + hash = "sha256-h2v71DzXez/+wlEp8IMVBk33LlXPhNPJ1UPNLYPShoE="; }; linux-src = fetchurl { - url = "https://github.com/janhq/jan/releases/download/v${version}/jan_${version}_amd64.AppImage"; - hash = "sha256-OWg8P4g2g+LVJU+SnjajG2cqWnzl5X2fjqTGkIC3kAY="; + url = "https://github.com/janhq/jan/releases/download/v${version}/Jan_${version}_amd64.AppImage"; + hash = "sha256-vEmioWQ4ic/FrtNFMKaLOcEy2BTRdouPc4PYWk90ZBI="; }; appimageContents = appimageTools.extractType2 {