134 lines
3.3 KiB
Nix
134 lines
3.3 KiB
Nix
{
|
||
config,
|
||
pkgs,
|
||
lib,
|
||
...
|
||
}:
|
||
{
|
||
programs.starship = {
|
||
enable = true;
|
||
|
||
settings = {
|
||
"$schema" = "https://starship.rs/config-schema.json";
|
||
|
||
format = lib.concatStrings [
|
||
" "
|
||
"[](color_orange)"
|
||
"$os"
|
||
"$username"
|
||
"[](bg:color_yellow fg:color_orange)"
|
||
"$directory"
|
||
"[](fg:color_yellow bg:color_aqua)"
|
||
"$git_branch"
|
||
"$git_status"
|
||
"[](fg:color_aqua bg:color_blue)"
|
||
"$rust"
|
||
"$golang"
|
||
"$nodejs"
|
||
"$python"
|
||
"[](fg:color_blue bg:color_bg3)"
|
||
"$conda"
|
||
"$pixi"
|
||
"[](fg:color_bg3 bg:color_bg1)"
|
||
"$time"
|
||
"[ ](fg:color_bg1)"
|
||
"$line_break"
|
||
" "
|
||
"$character"
|
||
];
|
||
|
||
palette = "gruvbox_dark";
|
||
|
||
palettes = {
|
||
gruvbox_dark = {
|
||
color_fg0 = "#fbf1c7";
|
||
color_bg1 = "#3c3836";
|
||
color_bg3 = "#665c54";
|
||
color_blue = "#458588";
|
||
color_aqua = "#689d6a";
|
||
color_green = "#98971a";
|
||
color_orange = "#d65d0e";
|
||
color_purple = "#b16286";
|
||
color_red = "#cc241d";
|
||
color_yellow = "#d79921";
|
||
};
|
||
};
|
||
|
||
os = {
|
||
disabled = false;
|
||
style = "bg:color_orange fg:color_fg0";
|
||
symbols = {
|
||
NixOS = "";
|
||
};
|
||
};
|
||
|
||
username = {
|
||
show_always = true;
|
||
style_user = "bg:color_orange fg:color_fg0";
|
||
style_root = "bg:color_orange fg:color_fg0";
|
||
format = "[ $user ]($style)";
|
||
};
|
||
|
||
directory = {
|
||
style = "fg:color_fg0 bg:color_yellow";
|
||
format = "[ $path ]($style)";
|
||
truncation_length = 3;
|
||
truncation_symbol = "…/";
|
||
};
|
||
|
||
git_branch = {
|
||
symbol = "";
|
||
style = "bg:color_aqua";
|
||
format = "[[ $symbol $branch ](fg:color_fg0 bg:color_aqua)]($style)";
|
||
};
|
||
|
||
git_status = {
|
||
style = "bg:color_aqua";
|
||
format = "[[($all_status$ahead_behind )](fg:color_fg0 bg:color_aqua)]($style)";
|
||
};
|
||
|
||
nodejs = {
|
||
symbol = "";
|
||
style = "bg:color_blue";
|
||
format = "[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)";
|
||
};
|
||
rust = {
|
||
symbol = "";
|
||
style = "bg:color_blue";
|
||
format = "[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)";
|
||
};
|
||
golang = {
|
||
symbol = "";
|
||
style = "bg:color_blue";
|
||
format = "[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)";
|
||
};
|
||
python = {
|
||
symbol = "";
|
||
style = "bg:color_blue";
|
||
format = "[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)";
|
||
};
|
||
|
||
time = {
|
||
disabled = false;
|
||
time_format = "%R";
|
||
style = "bg:color_bg1";
|
||
format = "[[ $time ](fg:color_fg0 bg:color_bg1)]($style)";
|
||
};
|
||
|
||
line_break = {
|
||
disabled = false;
|
||
};
|
||
|
||
character = {
|
||
disabled = false;
|
||
success_symbol = "[❯](bold fg:color_green)";
|
||
error_symbol = "[❯](bold fg:color_red)";
|
||
vimcmd_symbol = "[](bold fg:color_green)";
|
||
vimcmd_replace_one_symbol = "[](bold fg:color_purple)";
|
||
vimcmd_replace_symbol = "[](bold fg:color_purple)";
|
||
vimcmd_visual_symbol = "[](bold fg:color_yellow)";
|
||
};
|
||
};
|
||
};
|
||
|
||
}
|