mirror of
https://github.com/nmasur/dotfiles
synced 2024-12-25 19:24:53 +00:00
64 lines
1.7 KiB
Nix
64 lines
1.7 KiB
Nix
{ config, pkgs, lib, ... }: {
|
||
|
||
home-manager.users.${config.user}.programs.starship = {
|
||
enable = true;
|
||
settings = {
|
||
add_newline = false; # Don't print new line at the start of the prompt
|
||
format = lib.concatStrings [
|
||
"$directory"
|
||
"$git_branch"
|
||
"$git_commit"
|
||
"$git_status"
|
||
"$hostname"
|
||
"$cmd_duration"
|
||
"$character"
|
||
];
|
||
right_format = "$nix_shell";
|
||
character = {
|
||
success_symbol = "[❯](bold green)";
|
||
error_symbol = "[❯](bold red)";
|
||
vicmd_symbol = "[❮](bold green)";
|
||
};
|
||
cmd_duration = {
|
||
min_time = 5000;
|
||
show_notifications = if pkgs.stdenv.isLinux then false else true;
|
||
min_time_to_notify = 30000;
|
||
format = "[$duration]($style) ";
|
||
};
|
||
directory = {
|
||
truncate_to_repo = true;
|
||
truncation_length = 100;
|
||
};
|
||
git_branch = { format = "[$symbol$branch]($style)"; };
|
||
git_commit = {
|
||
format = "( @ [$hash]($style) )";
|
||
only_detached = false;
|
||
};
|
||
git_status = {
|
||
format = "([$all_status$ahead_behind]($style) )";
|
||
conflicted = "=";
|
||
ahead = "⇡";
|
||
behind = "⇣";
|
||
diverged = "⇕";
|
||
untracked = "⋄";
|
||
stashed = "⩮";
|
||
modified = "∽";
|
||
staged = "+";
|
||
renamed = "»";
|
||
deleted = "✘";
|
||
style = "red";
|
||
};
|
||
hostname = {
|
||
ssh_only = true;
|
||
format = "on [$hostname](bold red) ";
|
||
};
|
||
nix_shell = {
|
||
format = "[$symbol $name]($style)";
|
||
symbol = "❄️";
|
||
};
|
||
python = { format = "[\${version}\\(\${virtualenv}\\)]($style)"; };
|
||
};
|
||
};
|
||
|
||
}
|