diff --git a/_unused/p10k.zsh b/_unused/p10k.zsh new file mode 100644 index 0000000..32dbab8 --- /dev/null +++ b/_unused/p10k.zsh @@ -0,0 +1,165 @@ +'builtin' 'local' '-a' 'p10k_config_opts' +[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases') +[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob') +[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand') +'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand' + +() { + emulate -L zsh -o extended_glob + + unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR' + autoload -Uz is-at-least && is-at-least 5.1 || return + + typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( + # aws + # terraform + # kubecontext + # newline + virtualenv + context + dir + vcs + background_jobs + prompt_char + ) + typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=( + command_execution_time + vi_mode + ) + + typeset -g POWERLEVEL9K_MODE=nerdfont-complete + typeset -g POWERLEVEL9K_ICON_PADDING=none + typeset -g POWERLEVEL9K_BACKGROUND= + typeset -g POWERLEVEL9K_{LEFT,RIGHT}_{LEFT,RIGHT}_WHITESPACE= + typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SUBSEGMENT_SEPARATOR=' ' + typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SEGMENT_SEPARATOR= + typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT=true + typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=false + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX= + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX= + typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX= + typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL= + typeset -g POWERLEVEL9K_SHOW_RULER=false + typeset -g POWERLEVEL9K_RULER_CHAR='─' + typeset -g POWERLEVEL9K_RULER_FOREGROUND=240 + + # prompt symbol + typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=76 + typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196 + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯' + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❯' + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='❯' + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='❯' + typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='' + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL= + + # working directory + typeset -g POWERLEVEL9K_DIR_FOREGROUND=37 + typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique + typeset -g POWERLEVEL9K_SHORTEN_DELIMITER= + typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=103 + typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=37 + typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=false + local anchor_files=( + .git + ) + typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})" + typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=last + typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 + typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80 + typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS=40 + typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT=50 + typeset -g POWERLEVEL9K_DIR_HYPERLINK=false + typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v2 + typeset -g POWERLEVEL9K_DIR_CLASSES=() + + # vcs + typeset -g POWERLEVEL9K_VCS_FOREGROUND=246 + typeset -g POWERLEVEL9K_VCS_LOADING_FOREGROUND=240 + typeset -g POWERLEVEL9K_VCS_LOADING_TEXT= + typeset -g POWERLEVEL9K_VCS_MAX_SYNC_LATENCY_SECONDS=0 + typeset -g POWERLEVEL9K_VCS_{INCOMING,OUTGOING}_CHANGESFORMAT_FOREGROUND= + typeset -g POWERLEVEL9K_VCS_GIT_HOOKS=(vcs-detect-changes git-untracked git-aheadbehind git-stash) + typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='' + typeset -g POWERLEVEL9K_VCS_COMMIT_ICON='@' + typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED}_ICON= + typeset -g POWERLEVEL9K_VCS_DIRTY_ICON='*' + typeset -g POWERLEVEL9K_VCS_INCOMING_CHANGES_ICON=':⇣' + typeset -g POWERLEVEL9K_VCS_OUTGOING_CHANGES_ICON=':⇡' + typeset -g POWERLEVEL9K_VCS_{COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=1 + typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${${${P9K_CONTENT/⇣* :⇡/⇣⇡}// }//:/ }' + typeset -g POWERLEVEL9K_VCS_STASH_ICON='≡' + typeset -g POWERLEVEL9K_VCS_GIT_ICON='\uF126' + typeset -g POWERLEVEL9K_VCS_GIT_GITHUB_ICON='\uF126' + typeset -g POWERLEVEL9K_VCS_GIT_GITLAB_ICON='\uF126' + typeset -g POWERLEVEL9K_VCS_GIT_BITBUCKET_ICON='\uF126' + + # command_execution_time + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=2 + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=220 + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s' + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION='' + + # background_jobs + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=70 + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⇶' + + # context (username/hostname) + typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=196 + typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND= + typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND= + typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%B%n@%m' + typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%n@%m' + typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m' + typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION= + + # virtualenv + typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=15 + typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false + typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false + typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= + + # kubecontext + #typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile' + typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + '*' DEFAULT) + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=38 + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION= + POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}' + POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}' + + # terraform + typeset -g POWERLEVEL9K_TERRAFORM_SHOW_DEFAULT=false + typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + '*' DEFAULT) + typeset -g POWERLEVEL9K_TERRAFORM_DEFAULT_FOREGROUND=38 + + # aws + #typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|terraform|aws-mfa' + typeset -g POWERLEVEL9K_AWS_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + '*' DEFAULT) + typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=208 + + # vi_mode + typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING= + typeset -g POWERLEVEL9K_VI_COMMAND_MODE_STRING='NORMAL' + typeset -g POWERLEVEL9K_VI_MODE_NORMAL_FOREGROUND=15 + typeset -g POWERLEVEL9K_VI_MODE_NORMAL_BACKGROUND=1 + + # other settings + typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=off + typeset -g POWERLEVEL9K_INSTANT_PROMPT=verbose + typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true + (( ! $+functions[p10k] )) || p10k reload +} + +typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a} + +(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]} +'builtin' 'unset' 'p10k_config_opts' diff --git a/starship.toml b/starship.toml new file mode 100644 index 0000000..aa7533c --- /dev/null +++ b/starship.toml @@ -0,0 +1,82 @@ +add_newline = false + +format=""" +$python\ +$aws\ +$kubernetes\ +$line_break\ +$username\ +$hostname\ +$directory\ +$git_branch\ +$git_status\ +$jobs\ +$character +""" + +right_format=""" +$cmd_duration +""" + +[python] +format = '[(${symbol} $virtualenv)]($style) ' +style = '15' +symbol = '' + +[aws] +format = '[$symbol ($profile)]($style) ' +style = '208' +symbol = '' + +[kubernetes] +disabled = false +format = '[$symbol ($context)/($namespace)]($style) ' +style = '38' + +[username] +format = '[$user]($style) ' +style_user = 'normal' +style_root = 'bold 196' + +[hostname] +format = '[@$hostname]($style) ' +style = 'normal' + +[directory] +format = '[($read_only )]($read_only_style)[$path]($style) ' +style = '37' +read_only_style = '37' +read_only = '' +truncation_length = 0 + +[git_state] +format = '\([$state( $progress_current/$progress_total)]($style)\) ' +style = 'bright-black' + +[git_branch] +format = '[$symbol$branch]($style)' +style = '246' +symbol = ' ' + +[git_status] +format = '[[(*$conflicted$untracked$modified$staged$renamed$deleted)](218)($ahead_behind$stashed) ]($style)' +style = 'green' +conflicted = '​' +untracked = '​' +modified = '​' +staged = '​' +renamed = '​' +deleted = '​' +stashed = '≡' + +[jobs] +style = '70' +symbol = '⇶' + +[character] +success_symbol = '[❯](76)' +error_symbol = '[❯](196)' + +[cmd_duration] +format = '[$duration]($style)' +style = '220' diff --git a/zsh/aliases.zsh b/zsh/aliases.zsh index 63e44eb..a1e80ac 100644 --- a/zsh/aliases.zsh +++ b/zsh/aliases.zsh @@ -1,3 +1,5 @@ +alias ga='git add .; git commit --no-edit --amend; git push --force-with-lease' +alias gae='git add .; git commit --amend; git push --force-with-lease' alias less='less -r' [ $(command -v bat) ] && alias cat='bat -pp --color=always --tabs=2 --theme=Monokai\ Extended\ Bright'