nixconfig/home/cli/starship/default.nix
2023-05-21 17:11:06 +02:00

63 lines
1.9 KiB
Nix

{
config,
lib,
...
}: {
home.sessionVariables.STARSHIP_CACHE = "${config.xdg.cacheHome}/starship";
programs.starship = {
enable = true;
enableFishIntegration = false;
enableIonIntegration = false;
enableNushellIntegration = false;
enableZshIntegration = true;
settings = {
format = lib.concatStrings [
"[](#${config.colorScheme.colors.base06})"
"$username"
"$hostname"
"[](bg:#${config.colorScheme.colors.base05} fg:#${config.colorScheme.colors.base06})"
"$directory"
"[](bg:#${config.colorScheme.colors.base04} fg:#${config.colorScheme.colors.base05})"
"$git_branch"
"$git_status"
"[](fg:#${config.colorScheme.colors.base04})"
];
username = {
show_always = true;
style_user = "bg:#${config.colorScheme.colors.base06} fg:#${config.colorScheme.colors.base00}";
style_root = "bg:#${config.colorScheme.colors.base06} fg:#${config.colorScheme.colors.base00}";
format = "[ $user]($style)";
};
hostname = {
ssh_symbol = "";
style = "bg:#${config.colorScheme.colors.base06} fg:#${config.colorScheme.colors.base00}";
format = "[@$hostname]($style)";
ssh_only = false;
disabled = false;
};
directory = {
style = "bg:#${config.colorScheme.colors.base05} fg:#${config.colorScheme.colors.base00}";
format = "[ $path ]($style)";
truncation_length = 3;
truncation_symbol = "/";
};
directory.substitutions = {
"Documents" = " ";
"Downloads" = " ";
"Music" = " ";
"Pictures" = " ";
};
git_branch = {
symbol = "";
style = "bg:#${config.colorScheme.colors.base04} fg:#${config.colorScheme.colors.base00}";
format = "[ $symbol $branch ]($style)";
};
git_status = {
style = "bg:#${config.colorScheme.colors.base04} fg:#${config.colorScheme.colors.base00}";
format = "[$all_status$ahead_behind ]($style)";
};
};
};
}