126 lines
2.6 KiB
Nix
126 lines
2.6 KiB
Nix
{ lib, config, ... }:
|
|
|
|
{
|
|
programs.starship = {
|
|
enable = true;
|
|
enableFishIntegration = true;
|
|
enableTransience = true;
|
|
|
|
settings = {
|
|
add_newline = true;
|
|
|
|
character = {
|
|
success_symbol = "[](bold green)";
|
|
error_symbol = "[](bold red)";
|
|
};
|
|
|
|
cmd_duration = {
|
|
style = "yellow";
|
|
format = "[ $duration]($style)";
|
|
};
|
|
|
|
docker_context = {
|
|
symbol = " ";
|
|
format = "\\[[$symbol$context]($style)\\]";
|
|
};
|
|
|
|
elixir = {
|
|
symbol = " ";
|
|
format = "\\[[$symbol($version \\(OTP $otp_version\\))]($style)\\]";
|
|
};
|
|
|
|
erlang = {
|
|
symbol = " ";
|
|
format = "\\[[$symbol($version)]($style)\\]";
|
|
};
|
|
|
|
git_branch = {
|
|
symbol = " ";
|
|
format = "\\[[$symbol$branch]($style)\\]";
|
|
};
|
|
|
|
hostname = {
|
|
ssh_only = true;
|
|
ssh_symbol = " ";
|
|
format = "\\[[$ssh_symbol$hostname]($style)\\]";
|
|
};
|
|
|
|
java = {
|
|
symbol = " ";
|
|
format = "\\[[$symbol($version)]($style)\\]";
|
|
};
|
|
|
|
nix_shell = {
|
|
symbol = " ";
|
|
format = "\\[[$symbol$state( \\($name\\))]($style)\\]";
|
|
};
|
|
|
|
nodejs = {
|
|
symbol = " ";
|
|
format = "\\[[$symbol($version)]($style)\\]";
|
|
};
|
|
|
|
os = {
|
|
disabled = true;
|
|
format = "$symbol";
|
|
|
|
symbols = {
|
|
Macos = " ";
|
|
NixOS = " ";
|
|
};
|
|
};
|
|
|
|
package = {
|
|
symbol = " ";
|
|
format = "\\[[$symbol$version]($style)\\]";
|
|
};
|
|
|
|
php = {
|
|
symbol = " ";
|
|
format = "\\[[$symbol($version)]($style)\\]";
|
|
};
|
|
|
|
python = {
|
|
symbol = " ";
|
|
format = "\\[[\${symbol}\${pyenv_prefix}(\${version})(\\($virtualenv\\))]($style)\\]";
|
|
};
|
|
|
|
ruby = {
|
|
symbol = " ";
|
|
format = "\\[[$symbol($version)]($style)\\]";
|
|
};
|
|
|
|
status = {
|
|
disabled = false;
|
|
symbol = " ";
|
|
success_symbol = "";
|
|
not_executable_symbol = " ";
|
|
not_found_symbol = " ";
|
|
sigint_symbol = " ";
|
|
signal_symbol = " ";
|
|
map_symbol = true;
|
|
};
|
|
|
|
time = {
|
|
format = "\\[[$time]($style)\\]";
|
|
};
|
|
|
|
username = {
|
|
format = "\\[[ $user]($style)\\]";
|
|
};
|
|
|
|
format = "$all";
|
|
right_format = "$cmd_duration";
|
|
};
|
|
};
|
|
|
|
programs.fish.interactiveShellInit = lib.mkIf config.programs.starship.enableTransience ''
|
|
function starship_transient_prompt_func
|
|
starship module character
|
|
end
|
|
|
|
function starship_transient_rprompt_func
|
|
starship module cmd_duration
|
|
end
|
|
'';
|
|
}
|