Nushell
- Still quite new, lots of little issues and incompatabilities
- Can function just fine as a login shell, but be aware of this
- Main thing to be aware of that many installers/tutorials that provide shell commands
assume a POSIX-compliant shell, which
nu
is not
- Nix doesn't work
- When set as a login shell, it won't load any config/env when executing a command
directly via SSH (e.g.
ssh hostname '$env.PATH'
)- nushell/nushell#10219
- Hacky workaround that I'm using in my own config:
# Executes a shell command on a remote machine using a nu login shell. # # TODO: This is a workaround; once there's a fix in nu this can be dropped. export def ssh-exec [host: string, cmd: string --tty (-t), ...rest: string]: nothing -> string { let macNu = "/opt/homebrew/bin/nu" let linuxNu = "/home/linuxbrew/.linuxbrew/bin/nu" ssh $host ...$rest $"^$\"\(if \('($macNu)' | path exists) { '($macNu)' } else { '($linuxNu)' })\" -l -c '($cmd)'" }
- As seen above,
highlight.js
does not support nu highlighting- TODO: open GH issue
- Excellent for playing around with data
- POSIX shells don't come close
- Needs some proper graphing tools
- TODO: either open GH issue or make/find something
Nix
- Need a custom env setup
- Currently using one based on the GH issue is the best workaround
- NixOS/nix#9813
nix-darwin
doesn't work at all- TODO: GH issue needs opening