109 lines
2.9 KiB
Nix
109 lines
2.9 KiB
Nix
{ ... }: {
|
||
programs.starship = {
|
||
enable = true;
|
||
enableBashIntegration = true;
|
||
|
||
settings =
|
||
let
|
||
line_style = "bold green";
|
||
section = {
|
||
user_host = "underline";
|
||
};
|
||
in
|
||
{
|
||
add_newline = true;
|
||
|
||
format = ''
|
||
($status$cmd_duration)
|
||
[┃[$username@$hostname](${section.user_host})┃($shlvl┃)($nix_shell┃)](${line_style})
|
||
[┃$directory(┃$git_branch$git_status(@$git_commit)( $git_metrics)( $git_state))](${line_style})
|
||
[┃($shell)┃](${line_style})$character'';
|
||
|
||
character = rec {
|
||
success_symbol = "[❯](bold purple)";
|
||
error_symbol = success_symbol;
|
||
vicmd_symbol = "[❮](bold purple)";
|
||
};
|
||
|
||
aws.symbol = " ";
|
||
conda.symbol = " ";
|
||
dart.symbol = " ";
|
||
docker_context.symbol = " ";
|
||
elixir.symbol = " ";
|
||
elm.symbol = " ";
|
||
golang.symbol = " ";
|
||
hg_branch.symbol = " ";
|
||
java.symbol = " ";
|
||
julia.symbol = " ";
|
||
memory_usage.symbol = " ";
|
||
nim.symbol = " ";
|
||
package.symbol = " ";
|
||
perl.symbol = " ";
|
||
php.symbol = " ";
|
||
python.symbol = " ";
|
||
ruby.symbol = " ";
|
||
rust.symbol = " ";
|
||
scala.symbol = " ";
|
||
swift.symbol = "ﯣ ";
|
||
|
||
directory = {
|
||
style = "cyan";
|
||
read_only = " ";
|
||
format = "[$read_only]($read_only_style)[$path]($style)";
|
||
};
|
||
|
||
git_branch = {
|
||
format = "[$symbol$branch]($style)";
|
||
style = "bold dimmed white";
|
||
symbol = " ";
|
||
};
|
||
|
||
git_status = {
|
||
format = " $ahead_behind$all_status";
|
||
conflicted = "⚠️";
|
||
ahead = "[⟫\${count}](green bold) ";
|
||
behind = "[⟪\${count}](red bold)";
|
||
diverged = "[🔀](red bold) ";
|
||
untracked = "[📁](grey bold) ";
|
||
stashed = "[↪](grey bold) ";
|
||
modified = "[𝚫](yellow bold) ";
|
||
staged = "[✔](green bold) ";
|
||
renamed = "[⇆](blue bold) ";
|
||
deleted = "[✘](red bold) ";
|
||
style = "bold";
|
||
};
|
||
|
||
nix_shell = {
|
||
format = "[$symbol$state $name]($style bold)";
|
||
pure_msg = "✔";
|
||
impure_msg = "𝚫";
|
||
symbol = " ";
|
||
};
|
||
|
||
username = {
|
||
format = "[$user]($style ${section.user_host})";
|
||
show_always = true;
|
||
};
|
||
|
||
hostname = {
|
||
ssh_only = false;
|
||
format = "[$hostname]($style ${section.user_host})";
|
||
trim_at = "";
|
||
};
|
||
|
||
shlvl = {
|
||
disabled = false;
|
||
format = " [$symbol$shlvl]($style bold)";
|
||
symbol = " ";
|
||
threshold = 0;
|
||
};
|
||
|
||
shell = {
|
||
disabled = false;
|
||
format = "$indicator";
|
||
};
|
||
|
||
status.disabled = false;
|
||
};
|
||
};
|
||
}
|