2024-05-03 11:34:31 Originally posted on Fedi: https://tilde.zone/@hedy/112375069762582794 --- Recently I took a brief look at Nushell, and ["The case for Nushel"](https://www.sophiajt.com/case-for-nushell/), which prompted me to re-evaluate how I currently use Fish as my interactive shell. I use Fish because of its: - Built-in syntax-highlighting, - Auto-suggestions, and - A better system for managing environment variables. On places such as VPSes or emulated shells, all I have to do is install Fish with the OS package manager, and I'll feel right at home. But with regards to Fish's way of environment variables, it was all fun and games until I realized that I need those environment variables consistently applied to `sh` and `bash` too, since POSIX is used for my shell scripts (for portability). This led me to coming up with [my own system](https://github.com/hedyhli/dotfiles?tab=readme-ov-file#shell) of managing `$PATH` and other environment variables, which would ensure the environment is consistent across shells. Now using Fish as my daily driver is actually a little painful since its syntax is *similar* to POSIX, yet incompatible in many ways. Installation docs that use `$(...)`, for instance, I'll have to manually convert it to `(...)`. And Fish's syntax didn't actually bring me any solid benefits over POSIX. Perhaps I hadn't read enough of the docs? Essentially, I realized I'm just using Fish solely for its syntax highlighting and built-in completion. That's it. Nushell's language and the way it approaches data is intruiging. It also provides built-in syntax highlighting and completion. But I don't think it's currently mature enough for me to have it replace fish. Programs who provide completion other than bash, most likely includes fish completion. I have never seen any support for Nu so far. For now, Nu will be installed but Fish will remain as my interactive shell. I'll see if I remember trying Nu when I need to do some complicated pipe data manipulation and have given up on POSIX tools. ---