I finally swapped to nushell! It's pretty good even though I'm barely using all of its tools.
seen from China
seen from United States

seen from United States
seen from Türkiye
seen from Bangladesh

seen from United States

seen from China
seen from Netherlands

seen from Netherlands

seen from United States
seen from United States
seen from Mexico
seen from United States
seen from United States

seen from Canada
seen from United States
seen from United States

seen from Australia

seen from United States
seen from Mexico
I finally swapped to nushell! It's pretty good even though I'm barely using all of its tools.
Are there any domains in which fish clearly outperforms nu? I've been thinking for a while that I should experiment more with Fancy Modern Shells, and your shell-chat is inspiring me to move more actively in that direction, but I'm not sure whether to interpret your delight with nu as "this is tradeoff-y but better-on-net for my use cases relative to fish" or as "this seems (at least for now) like a straightforward upgrade".
(context: I'm unimpressed by zsh)
I would say nu is tradeoffy. fish is definitely way more conservative with its improvements, which means that if you're used to shell you will learn fish faster than you will learn nu.
fish has also spent a lot more time being polished. Anything you'd want to do in shell is possible in fish.
On the other hand, nu is still in active development and missing some features, like, you can't forward flags:
Apparently a related issue was fixed four days ago!
To be fair, you can still forward flags on regular shell scripts, just not in nu commands. It's really just the new stuff that's kinda rough, but you still do have access to all the Unix stuff.
So yeah, probably relatedly, it's being updated frequently enough that the docs are sometimes out-of-date.
So probably the main flaw of nu is that copy/pasting shell commands from the internet is way more likely to break than it is in fish.
Going back to fish, fish has a lot of features built around making it easier to work with normal shell stuff. Stuff like autofilling completions from parsing man pages. For instance, if I type "git" and press Tab:
And if I press Space and then Tab:
And if I go all the way to "git add -"
I don't know of any other shell that does anything this cool (nu doesn't, zsh can be configured to do the last one but not the others afaik).
I would say this is how I would compare them. Nu is a cool programming environment, and it's about this flashy about its own features, but fish is definitely flashier about helping you use regular commandline tools.
Personally, while I like the little things in fish, I do feel like they're not quite as valuable to me as Nu's extremely flashy new features about manipulating structured data, being a language that doesn't suck, and all that.
To those of you who use Yazi: it integrates with some shells creating a command (yy in nu) that functions the same as Yazi, but it cds to wherever you left the session. Pretty neat
i really like writing nushell code because it’s fun and actually well thought out. but also, i just found that one of the scripts in the nu_scripts repo was old enough to be fully broken so fixed it and opened a PR that was merged in <10 mins. it’s nice to see a project be super active and makes me want to do more
I'm gonna keep raving about nushell until it becomes my new normal, but honestly it keeps giving me reasons to love it. sometimes Plex doesn't properly pick up files from the existing names and I have to go around renaming them. sometimes I do this by hand for a 1-2 files, but most of the times there's quite a few and I'd rather dome myself, so I end up writing a little script to handle the renaming
usually, I do this in typescript, as deno is sick as a scripting runtime and it's so much easier than figuring out what archaic demon-summoning syntax you'd need in bash for the same thing. however, since I now have nushell, I figured id try doing this renaming in that, and by-gum it's so fucking slick. a single line lets me get all the files in a folder, parse out the episode number, and rename the file to have proper SXXEYY format. in typescript that'd be multiple dozen lines, and in bash I'd be dead on the floor. it brings me so much joy to use this nu (hehe) shell
Nushell
Recently I was looking for a cross platform shell, and came across Nushell. It is data driven and takes a lot of cues from functional programming paradigms. I'm still messing around with it, but so far it's pretty neat and worth a look. I might post a comprehensive review once I figure out what I'm doing (if I remember lol). Nushell
Nutshell
2012 POP SONGS IN A NUTSHELL
pretty sick!