75 lines
1.9 KiB
Nix
75 lines
1.9 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
namespace,
|
|
options,
|
|
...
|
|
}:
|
|
let
|
|
inherit (lib) mkIf;
|
|
inherit (lib.${namespace}) mkBoolOpt;
|
|
cfg = config.${namespace}.apps.cli-apps.starship;
|
|
in
|
|
{
|
|
options.${namespace}.apps.cli-apps.starship = {
|
|
enable = mkBoolOpt true "Whether or not to enable starship shell";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
programs = {
|
|
fish.shellInit = "
|
|
starship init fish | source
|
|
";
|
|
|
|
starship = {
|
|
enable = true;
|
|
enableTransience = true;
|
|
settings = {
|
|
character = {
|
|
error_symbol = "[ ](bold red)";
|
|
};
|
|
time = {
|
|
disabled = false;
|
|
time_format = "%T";
|
|
utc_time_offset = "+2";
|
|
};
|
|
username = {
|
|
style_user = "#00de00";
|
|
style_root = "red";
|
|
format = "[$user]($style) ";
|
|
disabled = false;
|
|
show_always = true;
|
|
};
|
|
hostname = {
|
|
ssh_only = false;
|
|
format = "@ [$hostname](bold yellow) ";
|
|
disabled = false;
|
|
};
|
|
directory = {
|
|
home_symbol = " ~";
|
|
read_only_style = "197";
|
|
read_only = " ";
|
|
format = "at [$path]($style)[$read_only]($read_only_style) ";
|
|
};
|
|
git_metrics = {
|
|
disabled = false;
|
|
added_style = "bold blue";
|
|
format = "[+$added]($added_style)/[-$deleted]($deleted_style) ";
|
|
};
|
|
git_status = {
|
|
format = "([$all_status$ahead_behind]($style) )";
|
|
ahead = "[↑$count](bold green)";
|
|
behind = "[↓$count](bold red)";
|
|
diverged = "[↕↓$ahead_count↑$behind_count](red)";
|
|
deleted = "[✘$count](red) ";
|
|
modified = "[!$count](yellow) ";
|
|
staged = "[+$count](green) ";
|
|
renamed = "[➜$count](green) ";
|
|
untracked = "[?$count](blue) ";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|