Files
nixos/common/modules/home/starship.nix

115 lines
2.9 KiB
Nix
Raw Normal View History

2026-03-01 08:19:46 +01:00
{
lib,
...
}:
{
programs.starship = {
enable = true;
settings = {
format = lib.concatStrings [
2026-03-01 08:36:23 +01:00
"$hostname"
2026-03-01 08:19:46 +01:00
"\${custom.distrobox}"
2026-03-02 12:58:21 +01:00
"$nix_shell"
2026-03-01 08:19:46 +01:00
"$python"
2026-03-02 12:58:21 +01:00
"$nodejs"
"$rust"
"$golang"
"$php"
"\${custom.android}"
"[](fg:#000000)"
2026-03-01 08:19:46 +01:00
"[](#FFFFFF)"
"[ 🐺 ](bg:#FFFFFF fg:#1E91D6)"
"[](bg:#0072BB fg:#FFFFFF)"
"$directory"
"[](fg:#0072BB bg:#E18335)"
"$git_branch"
"$git_status"
"[](fg:#E18335 bg:#061A40)"
"$time"
2026-03-02 12:58:21 +01:00
"[ ](fg:#061A40)"
2026-03-01 08:19:46 +01:00
"\n$character"
];
2026-03-02 12:58:21 +01:00
hostname = {
ssh_only = true;
format = "[](fg:#1E91D6)[$hostname](bg:#1E91D6 fg:#FFFFFF)[](fg:#1E91D6) ";
};
custom.distrobox = {
when = "printenv CONTAINER_ID";
command = "echo $CONTAINER_ID";
format = "[](fg:#FF5F00)[󰏖 $output ](bg:#FF5F00 fg:#FFFFFF)[](fg:#FF5F00) ";
};
nix_shell = {
format = "[](fg:#7EBAE4)[ $state ](bg:#7EBAE4 fg:#061A40)[](fg:#7EBAE4) ";
};
custom.android = {
when = "test -n \"$IN_ANDROID_ENV\"";
format = "[](fg:#3DDC84)[󰀲 Android ](bg:#3DDC84 fg:#061A40)[](fg:#3DDC84) ";
};
2026-03-01 08:19:46 +01:00
directory = {
style = "fg:#e3e5e5 bg:#0072BB";
format = "[ $path ]($style)";
truncation_length = 3;
substitutions = {
"Documents" = "󰈙 ";
2026-03-02 12:58:21 +01:00
"Downloads" = "󰇚 ";
"Music" = "󰝚 ";
"Pictures" = "󰙏 ";
2026-03-01 08:19:46 +01:00
};
};
git_branch = {
2026-03-02 12:58:21 +01:00
symbol = "󰊢";
2026-03-01 08:19:46 +01:00
style = "bg:#E18335";
format = "[[ $symbol $branch ](fg:#0072BB bg:#E18335)]($style)";
};
git_status = {
style = "bg:#E18335";
format = "[[($all_status$ahead_behind )](fg:#0072BB bg:#E18335)]($style)";
};
2026-03-02 12:58:21 +01:00
python = {
symbol = "󰌠";
format = "[](fg:#4B8BBE)[$symbol $version](bg:#4B8BBE fg:#FFFFFF)[](fg:#4B8BBE) ";
};
2026-03-01 08:19:46 +01:00
nodejs = {
2026-03-02 12:58:21 +01:00
symbol = "󰎙";
format = "[](fg:#68A063)[$symbol $version](bg:#68A063 fg:#FFFFFF)[](fg:#68A063) ";
2026-03-01 08:19:46 +01:00
};
rust = {
2026-03-02 12:58:21 +01:00
symbol = "󱘗";
format = "[](fg:#CE412B)[$symbol $version](bg:#CE412B fg:#FFFFFF)[](fg:#CE412B) ";
2026-03-01 08:19:46 +01:00
};
golang = {
2026-03-02 12:58:21 +01:00
symbol = "󰟓";
format = "[](fg:#00ADD8)[$symbol $version](bg:#00ADD8 fg:#FFFFFF)[](fg:#00ADD8) ";
2026-03-01 08:19:46 +01:00
};
php = {
2026-03-02 12:58:21 +01:00
symbol = "󰌟";
format = "[](fg:#8892BF)[$symbol $version](bg:#8892BF fg:#FFFFFF)[](fg:#8892BF) ";
2026-03-01 08:19:46 +01:00
};
time = {
disabled = false;
2026-03-02 12:58:21 +01:00
style = "bg:#061A40";
format = "[[ 󰥔 $time ](fg:#a0a9cb bg:#061A40)]($style)";
2026-03-01 08:19:46 +01:00
};
2026-03-01 08:36:23 +01:00
2026-03-02 12:58:21 +01:00
character = {
success_symbol = "[](bold green)";
error_symbol = "[](bold red)";
2026-03-01 08:36:23 +01:00
};
2026-03-01 08:19:46 +01:00
};
};
}