Nushell: Difference between revisions
→Example: remove legacy |
Add a extra condition to invoke `nu` in `.bashrc`. If `bash` is invoked with `-l` AND `-c`, the original `.bashrc` will start `nu` instead of executing the command. It broke `niri-session` for me. `nu` should not be started if the command string is not empty. |
||
| (5 intermediate revisions by 3 users not shown) | |||
| Line 2: | Line 2: | ||
== Installation == | == Installation == | ||
Using nushell as a login shell is not recommended. Since nushell is not a POSIX shell, it cannot execute the global shell rcfiles, which means that various environment variables that the general NixOS configuration expects to be set will not be set. To avoid these problems use the default bash interactive shell as a login shell and launch nushell from there: | |||
{{ | {{File|3={ pkgs, ... }: { | ||
}: | |||
{ | |||
environment.shells = [ | environment.shells = [ | ||
pkgs.nushell | pkgs.nushell | ||
]; | ]; | ||
programs.bash.interactiveShellInit = '' | |||
if ! [ "$TERM" = "dumb" ] && [ -z "$BASH_EXECUTION_STRING" ]; then | |||
exec nu | |||
fi | |||
''; | |||
}|name=/etc/nixos/configuration.nix|lang=nix}} | }|name=/etc/nixos/configuration.nix|lang=nix}} | ||
The [[Command Shell]] page explains the process for setting shells as login shells if this is still desired. | |||
== Configuration == | == Configuration == | ||
| Line 20: | Line 20: | ||
====Example==== | ====Example==== | ||
A configuration with [https://starship.rs/ Starship] prompt and autosuggestion support with [https:// | A configuration with [https://starship.rs/ Starship] prompt and autosuggestion support with [https://carapace.sh/ carapace] or [https://fishshell.com/ fish shell]: | ||
{{File|3=<nowiki> | {{File|3=<nowiki> | ||
{ lib, pkgs, ... }: | { lib, pkgs, ... }: | ||