# ██ # ██ # ██████ ██████░██ # ░░░░██ ██░░░░ ░██████░ # ██ ░░█████ ░██░░░██░ # ██ ░░░░░██░██ ░██░ # ██████ ██████ ░██ ░██░ # ░░░░░░ ░░░░░░ ░░░ ░░░ #------------------------------ # TTY colors #------------------------------ if [ "$TERM" = "linux" ]; then _SEDCMD='s/.*\*color\([0-9]\{1,\}\).*#\([0-9a-fA-F]\{6\}\).*/\1 \2/p' for i in $(sed -n "$_SEDCMD" $HOME/.Xresources | awk '$1 < 16 {printf "\\e]P%X%s", $1, $2}'); do echo -en "$i" done clear fi #------------------------------ # Source config files #------------------------------ if [ -r $HOME/.zaliases ] ; then source $HOME/.zaliases fi #if [ -r $HOME/.zshenv ] ; then # source $HOME/.zshenv #fi ZSH_THEME="powerlevel10k/powerlevel10k" #ZSH_THEME="agnoster" # Auto completion autoload -Uz compinit typeset -i updated_at=$(date +'%j' -r ~/.zcompdump 2>/dev/null || stat -f '%Sm' -t '%j' ~/.zcompdump 2>/dev/null) if [ $(date +'%j') != $updated_at ]; then compinit -i else compinit -C -i fi # Load complist module zmodload -i zsh/complist # Save history HISTFILE=$HOME/.zsh_history HISTSIZE=100000 SAVEHIST=$HISTSIZE # No duplicates in history setopt hist_ignore_all_dups # remove older duplicate entries from history setopt hist_reduce_blanks # remove superfluous blanks from history items setopt inc_append_history # save history entries as soon as they are entered setopt share_history # share history between different instances of the shell # Auto correction setopt correct_all # autocorrect commands setopt auto_list # automatically list choices on ambiguous completion setopt auto_menu # automatically use menu completion setopt always_to_end # move cursor to end if word had one match #oh-my-zsh plugins plugins=( zsh-autosuggestions zsh-syntax-highlighting history-substring-search archlinux sudo tmux yadm fasd fzf ) source $ZSH/oh-my-zsh.sh # My scripts PATH=/home/hate/go/bin:/usr/local/bin:/home/hate/.local/bin:/home/hate/.config/Scripts:$PATH # Init pmy eval "$(pmy init)" # Wpg restore on terminals (cat ~/.config/wpg/sequences &) # Import colorscheme from 'wal' asynchronously # & # Run the process in the background. # ( ) # Hide shell job control messages. #(cat ~/.cache/wal/sequences &) # Alternative (blocks terminal for 0-3ms) #cat ~/.cache/wal/sequences # To add support for TTYs this line can be optionally added. #source ~/.cache/wal/colors-tty.sh #FASD eval "$(fasd --init auto)" [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh #LF LFCD="/home/hate/.config/lf/lfcd.sh" if [ -f "$LFCD" ]; then source "$LFCD" fi bindkey -s '^o' 'lfcd\n' # The next line updates PATH for the Google Cloud SDK. if [ -f '/home/hate/google-cloud-sdk/path.zsh.inc' ]; then source '/home/hate/google-cloud-sdk/path.zsh.inc'; fi # The next line enables shell command completion for gcloud. if [ -f '/home/hate/google-cloud-sdk/completion.zsh.inc' ]; then source '/home/hate/google-cloud-sdk/completion.zsh.inc'; fi # Powerlevel9k POWERLEVEL9K_MODE=nerdfont-complete # Prompt elements POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_user dir vcs) POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(battery time) # Time POWERLEVEL9K_TIME_FORMAT="%D{%H:%M}" # Prompt settings POWERLEVEL9K_PROMPT_ON_NEWLINE=true POWERLEVEL9K_RPROMPT_ON_NEWLINE=true POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX_ICON=$'%K{white}%k' POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX_ICON=$'%K{green}%F{black} \uf155 %f%F{green}%k\ue0b0%f ' # Separators POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR_ICON=$'\ue0b0' POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR_ICON=$'\ue0b1' POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR_ICON=$'\ue0b2' POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR_ICON=$'\ue0b7' # Dir colours #POWERLEVEL9K_DIR_HOME_BACKGROUND='black' #POWERLEVEL9K_DIR_HOME_FOREGROUND='white' #POWERLEVEL9K_DIR_HOME_SUBFOLDER_BACKGROUND='black' #POWERLEVEL9K_DIR_HOME_SUBFOLDER_FOREGROUND='white' #POWERLEVEL9K_DIR_DEFAULT_BACKGROUND='yellow' #POWERLEVEL9K_DIR_DEFAULT_FOREGROUND='black' POWERLEVEL9K_DIR_SHORTEN_LENGTH=2 POWERLEVEL9K_DIR_SHORTEN_STRATEGY="truncate_from_right" # OS segment POWERLEVEL9K_OS_ICON_BACKGROUND='black' POWERLEVEL9K_LINUX_ICON='%F{cyan} \uf303 %F{white} arch %F{cyan}linux%f' # VCS icons POWERLEVEL9K_VCS_GIT_ICON=$'\uf1d2 ' POWERLEVEL9K_VCS_GIT_GITHUB_ICON=$'\uf113 ' POWERLEVEL9K_VCS_GIT_GITLAB_ICON=$'\uf296 ' POWERLEVEL9K_VCS_BRANCH_ICON=$'\uf322 ' POWERLEVEL9K_VCS_STAGED_ICON=$'\uf055' POWERLEVEL9K_VCS_UNSTAGED_ICON=$'\uf421' POWERLEVEL9K_VCS_UNTRACKED_ICON=$'\uf00d' POWERLEVEL9K_VCS_INCOMING_CHANGES_ICON=$'\uf0ab ' POWERLEVEL9K_VCS_OUTGOING_CHANGES_ICON=$'\uf0aa ' # VCS colours POWERLEVEL9K_VCS_MODIFIED_BACKGROUND='yellow' POWERLEVEL9K_VCS_MODIFIED_FOREGROUND='black' POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND='green' POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND='black' POWERLEVEL9K_VCS_CLEAN_BACKGROUND='green' POWERLEVEL9K_VCS_CLEAN_FOREGROUND='black' # VCS CONFIG POWERLEVEL9K_VCS_SHOW_CHANGESET=true # Status POWERLEVEL9K_STATUS_OK_ICON=$'\uf164' POWERLEVEL9K_STATUS_ERROR_ICON=$'\uf165' POWERLEVEL9K_STATUS_ERROR_CR_ICON=$'\uf165' # Battery #POWERLEVEL9K_BATTERY_LOW_FOREGROUND='black' #POWERLEVEL9K_BATTERY_LOW_BACKGROUND='red' #POWERLEVEL9K_BATTERY_CHARGING_FOREGROUND='black' #POWERLEVEL9K_BATTERY_CHARGING_BACKGROUND='blue' #POWERLEVEL9K_BATTERY_CHARGED_FOREGROUND='black' #POWERLEVEL9K_BATTERY_CHARGED_BACKGROUND='green' #POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND='black' #POWERLEVEL9K_BATTERY_DISCONNECTED_BACKGROUND='yellow' #POWERLEVEL9K_BATTERY_VERBOSE=true #POWERLEVEL9K_BATTERY_STAGES='' POWERLEVEL9K_BATTERY_LOW_THRESHOLD=15 POWERLEVEL9K_BATTERY_CHARGING='yellow' POWERLEVEL9K_BATTERY_CHARGED='green' POWERLEVEL9K_BATTERY_DISCONNECTED='$DEFAULT_COLOR' POWERLEVEL9K_BATTERY_LOW_THRESHOLD='10' POWERLEVEL9K_BATTERY_LOW_COLOR='red' POWERLEVEL9K_BATTERY_ICON='\uf1e6 ' # Programming languages POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW=true POWERLEVEL9K_GO_VERSION_PROMPT_ALWAYS_SHOW=true # User with skull user_with_skull() { echo -n "\uf79f $(whoami)" } POWERLEVEL9K_CUSTOM_USER="user_with_skull" # Custom wifi signal zsh_wifi_signal(){ local signal=$(nmcli device wifi | grep yes | awk '{print $8}') local color='%F{yellow}' [[ $signal -gt 60 ]] && color='%F{green}' [[ $signal -lt 40 ]] && color='%F{red}' echo -n "%{$color%}\uf230 $signal%{%f%}" # \uf230 is  } POWERLEVEL9K_CUSTOM_WIFI_SIGNAL="zsh_wifi_signal"