Nushell: Difference between revisions

Malix (talk | contribs)
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 ==
See [[Command Shell]] example if you want Nushell as your default shell
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={
{{File|3={ pkgs, ... }: {
  pkgs,
  ...
}:
{
   environment.shells = [
   environment.shells = [
     pkgs.nushell
     pkgs.nushell
   ];
   ];
   users.users.myuser= {
 
     shell = 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://search.nixos.org/packages?show=carapace carapace] or [https://fishshell.com/ fish shell]:
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, ... }: