Starship: Difference between revisions
m Improve code block formatting |
adjust translate tag's placement Tags: Mobile edit Mobile web edit |
||
Line 1: | Line 1: | ||
<languages/> | <languages/> | ||
<translate> | |||
<!--T:1--> | <!--T:1--> | ||
[https://starship.rs/ Starship] | [https://starship.rs/ 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''', [https://wiki.nixos.org/wiki/Zsh '''Zsh'''], [https://wiki.nixos.org/wiki/Fish '''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 == <!--T:2--> | == Installation == <!--T:2--> | ||
=== Using nix-shell === <!--T:3--> | === Using nix-shell === <!--T:3--> | ||
</translate> | |||
<syntaxhighlight lang="bash" start="3"> | <syntaxhighlight lang="bash" start="3"> | ||
nix-shell -p starship | nix-shell -p starship | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<translate> | <translate> | ||
=== Using Global Configuration === <!--T:4--> | === Using Global Configuration === <!--T:4--> | ||
</translate> | |||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
environment.systemPackages = [ | environment.systemPackages = [ | ||
Line 22: | Line 22: | ||
]; | ]; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<translate> | <translate> | ||
After modifying your configuration, apply the changes by running: | After modifying your configuration, apply the changes by running: | ||
</translate> | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
sudo nixos-rebuild switch | sudo nixos-rebuild switch | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<translate> | <translate> | ||
=== Using Home Configuration === <!--T:5--> | |||
</translate> | |||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
home.packages = [ | home.packages = [ | ||
Line 41: | Line 40: | ||
]; | ]; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<translate> | <translate> | ||
After updating your configuration, apply the changes by running: | After updating your configuration, apply the changes by running: | ||
</translate> | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
home-manager switch | home-manager switch | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<translate> | <translate> | ||
== Configuration == <!--T:6--> | |||
=== Basic === <!--T:7--> | |||
=== Basic === <!--T: | |||
</translate> | </translate> | ||
Line 59: | Line 58: | ||
programs.starship.enable = true; | programs.starship.enable = true; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<translate> | <translate> | ||
<!--T:39--> | <!--T:39--> | ||
after you have installed starship you need to source it in your shell | after you have installed starship you need to source it in your shell | ||
Bash: | |||
</translate> | </translate> | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
eval "$(starship init bash)" | eval "$(starship init bash)" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<translate> | |||
Zsh: | Zsh: | ||
</translate> | |||
<syntaxhighlight lang="zsh"> | <syntaxhighlight lang="zsh"> | ||
eval "$(starship init zsh)" | eval "$(starship init zsh)" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<translate> | |||
Fish: | Fish: | ||
</translate> | |||
<syntaxhighlight lang="fish"> | <syntaxhighlight lang="fish"> | ||
starship init fish | source | starship init fish | source | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<translate> | <translate> | ||
<!--T:10--> | <!--T:10--> | ||
if you use other shells than what I just mentioned please head to this [https://starship.rs/guide/#step-2-set-up-your-shell-to-use-starship page] | if you use other shells than what I just mentioned please head to this [https://starship.rs/guide/#step-2-set-up-your-shell-to-use-starship page] | ||
=== Advanced === <!--T: | === Advanced === <!--T:8--> | ||
<!--T:12--> | <!--T:12--> | ||
Line 86: | Line 96: | ||
<nowiki>:</nowiki> | <nowiki>:</nowiki> | ||
</translate> | </translate> | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
programs.starship = { | programs.starship = { | ||
Line 101: | Line 112: | ||
}; | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<translate> | <translate> | ||
<!--T:13--> | <!--T:13--> | ||
since we can't include every option on Starship here's a GitHub link | since we can't include every option on Starship here's a GitHub link <noinclude> [https://gist.github.com/s-a-c/0e44dc7766922308924812d4c019b109#file-starship-nix/ containing every configuration option] </noinclude> and here's the official documentation to explain each option [https://starship.rs/config/ starship configuration guide] | ||
and here's the official documentation to explain each option [https://starship.rs/config/ starship configuration guide] | |||
<!--T:15--> | <!--T:15--> | ||
good luck | good luck :D | ||
[[Category:Shell]] | [[Category:Shell]] | ||
</translate> |
Revision as of 06:43, 8 October 2025
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
Using nix-shell
nix-shell -p starship
Using Global Configuration
environment.systemPackages = [
pkgs.starship
];
After modifying your configuration, apply the changes by running:
sudo nixos-rebuild switch
Using Home Configuration
home.packages = [
pkgs.starship
];
After updating your configuration, apply the changes by running:
home-manager switch
Configuration
Basic
programs.starship.enable = true;
after you have installed starship you need to source it in your shell
Bash:
eval "$(starship init bash)"
Zsh:
eval "$(starship init zsh)"
Fish:
starship init fish | source
if you use other shells than what I just mentioned please head to this page
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