Skip to content

ssh: import Fish and Nix profile paths - #216

Draft
0xSero wants to merge 1 commit into
mainfrom
codex/fish-shell-support
Draft

ssh: import Fish and Nix profile paths#216
0xSero wants to merge 1 commit into
mainfrom
codex/fish-shell-support

Conversation

@0xSero

@0xSero 0xSero commented Aug 4, 2026

Copy link
Copy Markdown
Owner

Addresses the shell-environment portion of #185.

Root cause

Litter executes generated SSH commands under POSIX sh, but its profile importer only tried POSIX/bash/zsh files. A Fish login account—and common NixOS/profile locations—could therefore hide codex, Node, and package-manager binaries from the SSH command environment.

Change

  • keep all generated commands under POSIX sh
  • when Fish is the selected login shell, invoke fish --login --command only to export PATH through a sentinel-safe record
  • ignore Fish startup chatter and fall back to the POSIX PATH if export fails
  • restore common user/system Nix profile bin directories
  • preserve existing POSIX/bash/zsh and Node-manager behavior

Verification

  • /bin/sh -n
  • shellcheck
  • focused profile tests: 6/6
  • SSH suite: 28 passed, 1 live-only ignored
  • full codex-mobile-client lib suite: 778 passed, 0 failed, 5 live-only ignored
  • git diff --check

Remaining acceptance

No real Fish/NixOS SSH host was available; Fish behavior was exercised through an executable fixture. Keep this draft until a live Fish host proves Codex/package-manager lookup. The reporter's folder-picker -32604 is a distinct app-server spawn path and is not claimed fixed without host diagnostics.

@0xSero 0xSero added bug Something isn't working priority: next Important follow-up after critical correctness work labels Aug 4, 2026
@0xSero 0xSero mentioned this pull request Aug 4, 2026
@0xSero

0xSero commented Aug 4, 2026

Copy link
Copy Markdown
Owner Author

The remaining Mobile CI run was intentionally canceled after shared-prep and Android passed, to prioritize #221's clean-runner test-hermeticity gate. #216 already has 778 green Rust tests, focused shell/SSH tests, and remains draft for a real Fish/NixOS host. Rerun the platform matrix with that live-host acceptance before readiness; this cancellation is scheduling, not a failure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working priority: next Important follow-up after critical correctness work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant