diff --git a/nix/opencode.nix b/nix/opencode.nix index 23d9fbe34e0..a0c7dcfd593 100644 --- a/nix/opencode.nix +++ b/nix/opencode.nix @@ -68,10 +68,22 @@ stdenvNoCC.mkDerivation (finalAttrs: { ''; postInstall = lib.optionalString (stdenvNoCC.buildPlatform.canExecute stdenvNoCC.hostPlatform) '' + completion_bash=$($out/bin/opencode completion || true) + if [ -n "$completion_bash" ]; then + installShellCompletion --cmd opencode \ + --bash <(echo "$completion_bash") + else + echo >&2 "[1;31mwarning: bash completion generation failed or produced no output[0m" + fi + # trick yargs into also generating zsh completions - installShellCompletion --cmd opencode \ - --bash <($out/bin/opencode completion) \ - --zsh <(SHELL=/bin/zsh $out/bin/opencode completion) + completion_zsh=$(SHELL=/bin/zsh $out/bin/opencode completion || true) + if [ -n "$completion_zsh" ]; then + installShellCompletion --cmd opencode \ + --zsh <(echo "$completion_zsh") + else + echo >&2 "[1;31mwarning: zsh completion generation failed or produced no output[0m" + fi ''; nativeInstallCheckInputs = [