Nushell: Difference between revisions
m Add carapace bridges |
Dark Looon (talk | contribs) |
||
| (11 intermediate revisions by 5 users not shown) | |||
| Line 1: | Line 1: | ||
[https://www.nushell.sh/ Nushell] is a | [https://www.nushell.sh/ Nushell] is a powerful and modern non-POSIX [[Command Shell|shell]] written in Rust | ||
== 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 = [ | ||
pkgs.nushell | |||
]; | |||
programs.bash.interactiveShellInit = '' | |||
if ! [ "$TERM" = "dumb" ] && [ -z "$BASH_EXECUTION_STRING" ]; then | |||
exec nu | |||
fi | |||
''; | |||
}|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 == | ||
Nushell can be configured with [[Home Manager]] | Nushell can be configured with [[Home Manager]] | ||
==== | ====Example==== | ||
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> | |||
{ lib, pkgs, ... }: | { lib, pkgs, ... }: | ||
{ | { | ||
| Line 35: | Line 41: | ||
# mainly pieced together from https://www.nushell.sh/cookbook/external_completers.html | # mainly pieced together from https://www.nushell.sh/cookbook/external_completers.html | ||
# | # carapace completions https://www.nushell.sh/cookbook/external_completers.html#carapace-completer | ||
# + fix https://www.nushell.sh/cookbook/external_completers.html#err-unknown-shorthand-flag-using-carapace | # + fix https://www.nushell.sh/cookbook/external_completers.html#err-unknown-shorthand-flag-using-carapace | ||
# enable the package and integration bellow | # enable the package and integration bellow | ||
| Line 127: | Line 133: | ||
}; | }; | ||
} | } | ||
</nowiki>|name=~/.config/nixpkgs/home.nix|lang=nix}} | |||
</ | |||
==See also== | ==See also== | ||
* [[Command Shell]] | * [[Command Shell]] | ||
[[Category:Shell]] | [[Category:Shell]] | ||