1
Fork 0
mirror of https://github.com/thegeneralist01/config.git synced 2026-05-30 08:37:01 +02:00

fix macOS local terminals not exec-ing nu

The SSH_TTY guard was too broad — it broke local terminal sessions on
macOS. Use platform-specific conditions: Darwin omits the SSH_TTY check
(always exec nu unless IDE/skip), Linux keeps it (only exec nu for
interactive SSH, leaving non-interactive sessions like Codex in zsh).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
TheGeneralist 2026-03-16 17:16:35 +01:00
parent c72bd220d3
commit 44b56d6fcf
Signed by: thegeneralist01
SSH key fingerprint: SHA256:pp9qddbCNmVNoSjevdvQvM5z0DHN7LTa8qBMbcMq/R4

View file

@ -67,6 +67,11 @@ in
homeArgs: homeArgs:
let let
config' = homeArgs.config; config' = homeArgs.config;
nuExecCondition =
if config.isDarwin then
''[ -z "$INTELLIJ_ENVIRONMENT_READER" ] && [ -z "$skip" ]''
else
''[ -z "$INTELLIJ_ENVIRONMENT_READER" ] && [ -z "$skip" ] && [ -n "$SSH_TTY" ]'';
in in
{ {
home.file.".zshrc".text = # zsh home.file.".zshrc".text = # zsh
@ -74,7 +79,7 @@ in
export PATH="$HOME/.local/bin:/run/current-system/sw/bin:/nix/var/nix/profiles/default/bin:/etc/profiles/per-user/$USER/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin''${PATH:+:}''${PATH}" export PATH="$HOME/.local/bin:/run/current-system/sw/bin:/nix/var/nix/profiles/default/bin:/etc/profiles/per-user/$USER/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin''${PATH:+:}''${PATH}"
source ${config'.home.sessionVariablesPackage}/etc/profile.d/hm-session-vars.sh source ${config'.home.sessionVariablesPackage}/etc/profile.d/hm-session-vars.sh
if [ -z "$INTELLIJ_ENVIRONMENT_READER" ] && [ -z "$skip" ] && [ -n "$SSH_TTY" ]; then if ${nuExecCondition}; then
SHELL='${lib.getExe <| lib.head config'.shellsByPriority}' exec "$SHELL" SHELL='${lib.getExe <| lib.head config'.shellsByPriority}' exec "$SHELL"
fi fi
''; '';