push changes
This commit is contained in:
parent
6ea10852a9
commit
9aa6f3fdbe
20 changed files with 573 additions and 277 deletions
|
|
@ -5,85 +5,77 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.custom; let
|
||||
with lib; let
|
||||
cfg = config.apps.tools.starship;
|
||||
in {
|
||||
options.apps.tools.starship = with types; {
|
||||
enable = mkBoolOpt false "Enable Tmux";
|
||||
enable = mkEnableOption "Starship prompt";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [
|
||||
pkgs.custom.getgithost
|
||||
];
|
||||
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = config.programs.zsh.enable;
|
||||
settings = {
|
||||
add_newline = false;
|
||||
command_timeout = 1000;
|
||||
scan_timeout = 10;
|
||||
format = ''
|
||||
$username$shlvl$kubernetes''${custom.dir}''${custom.home_dir}$directory''${custom.git_host}$git_branch$git_commit$git_state$git_status$hg_branch$docker_context$package$cmake$dart$dotnet$elixir$elm$erlang$golang$helm$java$julia$kotlin$nim$nodejs$ocaml$perl$php$purescript$python$ruby$rust$swift$terraform$vagrant$zig$nix_shell$conda$aws$gcloud$openstack$env_var$crystal$custom$cmd_duration$lua$line_break$jobs$status$character
|
||||
'';
|
||||
character = {
|
||||
success_symbol = "[>](#89b4fa)[>](#f5c2e7)[>](#f2cdcd)";
|
||||
error_symbol = "[>>>](red)";
|
||||
format = "$username$directory$git_branch$git_status$python$rust$nodejs$nix_shell$cmd_duration$line_break$character";
|
||||
|
||||
# Username display
|
||||
username = {
|
||||
style_user = "blue bold";
|
||||
style_root = "red bold";
|
||||
format = "[$user]($style) ";
|
||||
show_always = true;
|
||||
};
|
||||
|
||||
# Modern minimal prompt character
|
||||
character = {
|
||||
success_symbol = "[>](blue)";
|
||||
error_symbol = "[>](red)";
|
||||
};
|
||||
|
||||
# Simplified directory display
|
||||
directory = {
|
||||
truncation_length = 1;
|
||||
format = "[ $path ]($style)[$read_only]($read_only_style) ";
|
||||
style = "fg:white bg:black bold";
|
||||
read_only = " ";
|
||||
read_only_style = "fg:black bg:red";
|
||||
style = "bold lavender";
|
||||
format = "[$path]($style) ";
|
||||
read_only = " ";
|
||||
};
|
||||
git_commit = {commit_hash_length = 7;};
|
||||
git_branch = {format = "[$symbol$branch]($style) ";};
|
||||
|
||||
# Streamlined git status indicators
|
||||
git_branch = {
|
||||
format = "[$symbol$branch]($style) ";
|
||||
style = "mauve";
|
||||
};
|
||||
|
||||
git_status = {
|
||||
conflicted = "[<](white)=[$count](bright-white bold)[>](white)";
|
||||
ahead = "[<](white)⇡[$count](bright-white bold)[>](white)";
|
||||
behind = "[<](white)⇣[$count](bright-white bold)[>](white)";
|
||||
diverged = "[<](white)⇕⇡[$ahead_count](bright-white bold)⇣[$behind_count](bright-white)[>](white)";
|
||||
untracked = "[<](white)?[$count](bright-white bold)[>](white)";
|
||||
stashed = "[<](white)$[$count](bright-white bold)[>](white)";
|
||||
modified = "[<](white)[>](white)";
|
||||
staged = "[<](white)+[$count](bright-white bold)[>](white)";
|
||||
renamed = "[<](white)»[$count](bright-white bold)[>](white)";
|
||||
deleted = "[<](white)✗[$count](bright-white bold)[>](white)";
|
||||
format = "[$all_status$ahead_behind]($style) ";
|
||||
style = "bold peach";
|
||||
conflicted = "=";
|
||||
ahead = "⇡";
|
||||
behind = "⇣";
|
||||
diverged = "⇕";
|
||||
untracked = "?";
|
||||
stashed = "$";
|
||||
modified = "!";
|
||||
staged = "+";
|
||||
renamed = "»";
|
||||
deleted = "✗";
|
||||
};
|
||||
custom = {
|
||||
home_dir = {
|
||||
command = "echo ";
|
||||
when = "[ \"$PWD\" == \"$HOME\" ]";
|
||||
shell = "[\"bash\",\"--norc\",\"--noprofile\"]";
|
||||
style = "fg:bright-white bg:bright-black";
|
||||
format = "[ $output ]($style)";
|
||||
};
|
||||
dir = {
|
||||
command = "echo ";
|
||||
when = "[ \"$PWD\" != \"$HOME\" ]";
|
||||
shell = "[\"bash\",\"--norc\",\"--noprofile\"]";
|
||||
style = "fg:blue bg:bright-black";
|
||||
format = "[ $output ]($style)";
|
||||
};
|
||||
git_host = {
|
||||
command = "getgithost";
|
||||
when = "git rev-parse --is-inside-work-tree 2> /dev/null";
|
||||
shell = "[\"bash\",\"--norc\",\"--noprofile\"]";
|
||||
style = "bright-yellow bold";
|
||||
format = "at [$output]($style)";
|
||||
};
|
||||
|
||||
# Language modules with minimal styling
|
||||
python.symbol = "[](yellow) ";
|
||||
rust.symbol = "[](peach) ";
|
||||
nodejs.symbol = "[](green) ";
|
||||
nix_shell.symbol = "[](blue) ";
|
||||
|
||||
# Command duration and line break
|
||||
cmd_duration = {
|
||||
format = "[$duration]($style) ";
|
||||
style = "yellow";
|
||||
};
|
||||
|
||||
line_break.disabled = false;
|
||||
lua.symbol = "[](blue) ";
|
||||
python.symbol = "[](blue) ";
|
||||
hostname = {
|
||||
ssh_only = true;
|
||||
format = "[$hostname](bold blue) ";
|
||||
disabled = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue