114 lines
3.4 KiB
Nix
114 lines
3.4 KiB
Nix
{ ... }: {
|
||
programs.starship = {
|
||
enable = true;
|
||
enableBashIntegration = true;
|
||
|
||
settings =
|
||
let
|
||
line_style = "bold green";
|
||
in
|
||
{
|
||
add_newline = true;
|
||
|
||
format = ''
|
||
(╢$status$cmd_duration)
|
||
[┌───(┨$shlvl┠)──(┨$shell┠)────────┨$username@$hostname┃](${line_style})
|
||
[┝┫$directory(┣━┫$git_branch$git_status(@$git_commit)( $git_metrics)( $git_state))┃](${line_style})
|
||
[└─┨](${line_style})$character
|
||
'';
|
||
# format = ''
|
||
# (╢$status $cmd_duration\n)[┌───┨$shlvl┠──┨$shell┠────────>](bold green) $username@$hostname
|
||
# [│](bold green) $directory$git_branch$git_commit$git_state$git_metrics$git_status$vcsh$hg_branch
|
||
# (\n[|](bold green) $crystal$dart$deno$dotnet$elixir$elm$erlang$golang$helm$java$julia$kotlin$lua$nim$nodejs$ocaml$perl$php$purescript$python$red$ruby$rust$scaly$swift$terraform$vlang$vagrant$zig)
|
||
# (\n[|](bold green) $nix_shell$conda$docker_context$package$cmake$kubernetes$env_var)
|
||
# (\n[|](bold green)$aws$gcloud$openstack)
|
||
# [└─](bold green) $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 = "([「$all_status$ahead_behind」]($style))";
|
||
conflicted = "⚠️";
|
||
ahead = "⟫$${count} ";
|
||
behind = "⟪$${count}";
|
||
diverged = "🔀 ";
|
||
untracked = "📁 ";
|
||
stashed = "↪ ";
|
||
modified = "𝚫 ";
|
||
staged = "✔ ";
|
||
renamed = "⇆ ";
|
||
deleted = "✘ ";
|
||
style = "bold bright-white";
|
||
};
|
||
|
||
nix_shell = {
|
||
format = "[$symbol$state]($style)";
|
||
pure_msg = "λ";
|
||
impure_msg = "⎔";
|
||
symbol = " ";
|
||
};
|
||
|
||
username = {
|
||
format = "[$user]($style)";
|
||
show_always = true;
|
||
};
|
||
|
||
hostname = {
|
||
ssh_only = false;
|
||
format = "[$hostname]($style)";
|
||
trim_at = "";
|
||
};
|
||
|
||
shlvl = {
|
||
disabled = false;
|
||
format = "[$symbol$shlvl]($style)";
|
||
symbol = " ";
|
||
};
|
||
|
||
shell = {
|
||
disabled = false;
|
||
format = "$indicator";
|
||
};
|
||
|
||
status.disabled = false;
|
||
};
|
||
};
|
||
}
|