From 7ae2b98ebd2d36094dd2eb5962e22f9085633577 Mon Sep 17 00:00:00 2001 From: Jakob Stender Guldberg Date: Fri, 31 Jul 2026 09:50:35 +0200 Subject: [PATCH] t3code: 0.0.30 -> 0.0.31 Changelog: https://github.com/pingdotgg/t3code/releases/tag/v0.0.31 Assisted-by: Claude Code (claude-opus-5) --- pkgs/by-name/t3/t3code/package.nix | 25 ++++++++++++++++++--- pkgs/by-name/t3/t3code/resource-monitor.nix | 25 +++++++++++++++++++++ pkgs/by-name/t3/t3code/unwrapped.nix | 6 ++--- 3 files changed, 50 insertions(+), 6 deletions(-) create mode 100644 pkgs/by-name/t3/t3code/resource-monitor.nix diff --git a/pkgs/by-name/t3/t3code/package.nix b/pkgs/by-name/t3/t3code/package.nix index 6352c9047ff7..a380fbeee98a 100644 --- a/pkgs/by-name/t3/t3code/package.nix +++ b/pkgs/by-name/t3/t3code/package.nix @@ -26,7 +26,9 @@ jujutsu, enableOpencode ? false, opencode, + enableResourceMonitor ? true, t3code-unwrapped ? callPackage ./unwrapped.nix { }, + t3code-resource-monitor ? callPackage ./resource-monitor.nix { inherit t3code-unwrapped; }, }: let @@ -45,6 +47,23 @@ let ++ lib.optionals enableJujutsu [ jujutsu ] ++ lib.optionals enableOpencode [ opencode ]; + # The resource monitor sidecar is a separate Rust binary that upstream only + # builds in its electron-builder pipeline, not in `build:desktop`. The server + # checks this variable before any bundled location, and the desktop app's + # server child inherits it. + wrapperArgs = + lib.optionals (runtimePackages != [ ]) [ + "--prefix" + "PATH" + ":" + (lib.makeBinPath runtimePackages) + ] + ++ lib.optionals enableResourceMonitor [ + "--set-default" + "T3CODE_RESOURCE_MONITOR_PATH" + (lib.getExe t3code-resource-monitor) + ]; + in symlinkJoin { pname = "t3code"; @@ -56,15 +75,15 @@ symlinkJoin { nativeBuildInputs = [ makeBinaryWrapper ]; - postBuild = lib.optionalString (runtimePackages != [ ]) '' + postBuild = lib.optionalString (wrapperArgs != [ ]) '' for program in "$out/bin"/*; do - wrapProgram "$program" \ - --prefix PATH : "${lib.makeBinPath runtimePackages}" + wrapProgram "$program" ${lib.escapeShellArgs wrapperArgs} done ''; passthru = { unwrapped = t3code-unwrapped; + resourceMonitor = t3code-resource-monitor; } // t3code-unwrapped.passthru; diff --git a/pkgs/by-name/t3/t3code/resource-monitor.nix b/pkgs/by-name/t3/t3code/resource-monitor.nix new file mode 100644 index 000000000000..021f6c2fb97a --- /dev/null +++ b/pkgs/by-name/t3/t3code/resource-monitor.nix @@ -0,0 +1,25 @@ +{ + rustPlatform, + t3code-unwrapped, +}: + +rustPlatform.buildRustPackage { + pname = "t3code-resource-monitor"; + inherit (t3code-unwrapped) version src; + + sourceRoot = "${t3code-unwrapped.src.name}/native/resource-monitor"; + + cargoHash = "sha256-5cmG2daM1bVOA23gjjoalbx0fEL1hmqV6WZov0sUZp8="; + + meta = { + description = "Native resource diagnostics sidecar for T3 Code"; + inherit (t3code-unwrapped.meta) + homepage + changelog + license + maintainers + platforms + ; + mainProgram = "t3-resource-monitor"; + }; +} diff --git a/pkgs/by-name/t3/t3code/unwrapped.nix b/pkgs/by-name/t3/t3code/unwrapped.nix index eee8555ac056..e14b82581f91 100644 --- a/pkgs/by-name/t3/t3code/unwrapped.nix +++ b/pkgs/by-name/t3/t3code/unwrapped.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation ( in { pname = "t3code-unwrapped"; - version = "0.0.30"; + version = "0.0.31"; strictDeps = true; __structuredAttrs = true; @@ -45,7 +45,7 @@ stdenv.mkDerivation ( owner = "pingdotgg"; repo = "t3code"; tag = "v${finalAttrs.version}"; - hash = "sha256-8N/TbKjaeog5+fbFr1o/Hs0xgbJijsZigo2FdOFtMco="; + hash = "sha256-KFGwgAIOqHbi3enmNAPt95+UAakm6pmClPK1nYNoOlk="; }; postPatch = '' @@ -93,7 +93,7 @@ stdenv.mkDerivation ( ; fetcherVersion = 4; - hash = "sha256-Qiwbg1EPjcVvt8YGc0YYP+1NbgBIxMkwIyTq5f3gtl4="; + hash = "sha256-6tuT9MS+PIMV0PFiw1q6vtZyk3yFB5Y4yHgWohMJczs="; }; preBuild = ''