Starship
Starship is a fast, customizable, and minimal prompt for any shell. written in Rust, It displays relevant information like the current directory, Git status, runtime versions, and more, adapting to the context with minimal configuration. It supports multiple shells, including Bash, Zsh, Fish, PowerShell and a lot of other shells, and your configuration will stay persistent across all these shells and is designed for speed and efficiency.
Installation
en utilisant nix-shell
nix-shell -p starship
en utilisant Global Configuration
environment.systemPackages = [
pkgs.starship
];
Après avoir modifié votre configuration, appliquez les modifications en exécutant:
sudo nixos-rebuild switch
en utilisant Home Configuration
home.packages = [
pkgs.starship
];
Après avoir modifié votre configuration, appliquez les modifications en exécutant:
home-manager switch
Configuration
Basique
programs.starship.enable = true; #enable starship
après avoir installé Starship, vous devez le sourcer dans votre shell
Bash:
eval "$(starship init bash)"
zsh:
eval "$(starship init zsh)"
fish:
starship init fish | source
si vous utilisez d'autres shells que ceux que je viens de mentionner, veuillez vous rendre ici
Advanced
you can customize starship with Nix (here's a snippet to understand) :
programs.starship = {
enable = true;
settings = {
add_newline = true;
command_timeout = 1300;
scan_timeout = 50;
format= "$all$nix_shell$nodejs$lua$golang$rust$php$git_branch$git_commit$git_state$git_status\n$username$hostname$directory";
character = {
success_symbol = "[](bold green) ";
error_symbol = "[✗](bold red) ";
};
};
};
since we can't include every option on Starship here's a GitHub link containing every configuration option
and here's the official documentation to explain each option starship configuration guide
good luck
:D