A few days ago I decided to switch my main shell to nushell. It offers next generation capabilities similar to other modern shells like Powershell:
Rather than thinking of files and services as raw streams of text, Nu looks at each input as something with structure. For example, when you list the contents of a directory, what you get back is a table of rows, where each row represents an item in that directory.Nushell Philosophy
This switch feels like the biggest shell related change for me since I switched from Windows Command Prompt to Bash. Even the switch from Bash to ZSH was small in comparison.
As part of this I have to relearn how to do a lot of things. For example, defining an alias is totally different.
The nushell configuration takes place in
~.config/nu/config.toml. To add an alias there, add the section
startup if it is not there already, and add a list item there:
startup = [ "alias evince = flatpak run org.gnome.Evince", "alias ll = ls -la", ]
In the above example two aliases are given, one to call
ls, and one for launching evince via flatpaks.