{ lib, buildGoModule, fetchFromGitHub, gitMinimal, makeWrapper, # Add this nix-update-script, opencode, td, tmux, versionCheckHook, writableTmpDirAsHomeHook, }: buildGoModule (finalAttrs: { pname = "sidecar"; version = "0.72.0"; src = fetchFromGitHub { owner = "marcus"; repo = "sidecar"; tag = "v${finalAttrs.version}"; hash = "sha256-WnkKE8BQ9kENe1ufNcvRB5oyz6eMFRwOsrL1paD0Iic="; }; vendorHash = "sha256-E9SFghqsVxJO+fVoGWk36Qq+J64GVqUeAo66yPT1E/E="; subPackages = ["cmd/sidecar"]; ldflags = [ "-s" "-w" "-X main.Version=v${finalAttrs.version}" # Can combine these ]; nativeBuildInputs = [makeWrapper]; # Add this nativeCheckInputs = [ gitMinimal writableTmpDirAsHomeHook ]; nativeInstallCheckInputs = [ versionCheckHook writableTmpDirAsHomeHook ]; versionCheckProgramArg = "--version"; doInstallCheck = true; doCheck = false; postInstall = '' wrapProgram $out/bin/sidecar \ --prefix PATH : ${lib.makeBinPath [opencode td tmux]} ''; passthru = { updateScript = nix-update-script {}; }; meta = { description = "Use sidecar next to CLI agents for diffs, file trees, conversation history, and task management with td"; homepage = "https://github.com/marcus/sidecar"; changelog = "https://github.com/marcus/sidecar/releases/tag/v${finalAttrs.version}"; license = lib.licenses.mit; mainProgram = "sidecar"; platforms = lib.platforms.unix; }; })