4 ms·
Last time (about a month ago) I tried use it as my login shell, for a brief while. I really want to like it, but change is always difficult :) The issues that
by scoopr 3y ago
Last time (about a month ago) I tried use it as my login shell, for a brief while. I really want to like it, but change is always difficult :)
The issues that I struck immediately where:
1. The macos `open` / nushell `open` conflict (various workarounds available, not quite sure what to do about it, the use of the macos command is very much in my muscle memory)
2. Some issue with tab completion being illogical, not choosing the shorter exact match as the first choice, tripping me up. This seems to be fixed now!
3. Setting up the env variables (PATH and other stuff), the syntax shown in the `config env` example is somewhat obtuse and I didn't really feel to actually learn all the possibilities to make it more nicer — so porting my .profile didn't seem like a fun endeavour. Also I realised keeping them in sync will be a bit difficult, if the syntax is wildly different.
I don't deal with _that_ much of structured data to actually make good use of nu's features — though I guess if I were to use it, it would inspire me to turn the data I do work with more amendable for nu.
Perhaps I should still try again :)
- zamalek 3y agoFriendly heads-up: it's considered unwise to use a non-unix compliant shell as your login shell. Rather configure your terminal emulator to use nu as its shell - or go through the effort of invoking it each time if you're not in a GUI.
- scoopr 3y agoAh, thats what I meant! The shell that `iterm2` logs in with, not `chsh`. I was a bit ambiguous there.
- kej 3y ago>it's considered unwise to use a non-unix compliant shell as your login shell I'll bite, why is this?
- zamalek 3y agoIt's simple: there's too much code out there that assumes the login shell is Unix compliant. Remember that shells have been going out of their way to be Unix compliant for a very long time, rethinking the shell is a relatively new concept.
- spott 3y agoQuick question: what does “Unix compliant” mean in this context? There are shells that are bash compatible, and shells that are sh compatible, and shells that work on posix systems, but I’m not sure what “Unix compliant” means. I think you mean bash/sh compatible, as pretty much all code on the internet assumes that (a big reason why fish never really took off), and if you are putting things in .profile that expect bash (or sh) compatibility, and your shell doesn’t support that, it could do weird stuff.
- zamalek 3y agosh is Unix compliant.
- e12e 3y ago> The macos `open` / nushell `open` conflict Hm, I see there's an issue and a recommendation to move nutshell open to nuopen - won't that get in the way of cross platform support? I would probably prefer to alias MacOS open (or xdg-open... Etc) to something like ”mope". I'm guessing things like Emacs can be configured to point at an absolute path for open? https://www.nushell.sh/book/configuration.html#macos-keeping-usr-bin-open-as-open https://www.nushell.sh/book/configuration.html#macos-keeping... https://github.com/nushell/nushell/issues/9220 https://github.com/nushell/nushell/issues/9220
- swdunlop 3y agoYou can bypass a Nushell command by prepending "^". To use MacOS open, this would be "^open cat.gif" This tic drives me nuts when I hop between fish (which I use for two features, better tab completion and background jobs) and nu. With 0.86, it might just be for background jobs, which is something Nushell has avoided dealing with entirely. CTRL-Z and "bg" is just muscle memory for me, much like "open."