# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. # Initialization code that may require console input (password prompts, [y/n] # confirmations, etc.) must go above this block; everything else may go below. if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" fi if [[ -f "/opt/homebrew/bin/brew" ]]; then # If you're using macOS, you'll want this enabled eval "$(/opt/homebrew/bin/brew shellenv)" fi # Kill conflicting alias if it exists unalias z 2>/dev/null unalias zi 2>/dev/null # Clone zcomet if necessary if [[ ! -f ${ZDOTDIR:-${HOME}}/.zcomet/bin/zcomet.zsh ]]; then command git clone https://github.com/agkozak/zcomet.git ${ZDOTDIR:-${HOME}}/.zcomet/bin fi source ${ZDOTDIR:-${HOME}}/.zcomet/bin/zcomet.zsh # Load a code snippet - no need to download an entire repository zcomet snippet https://github.com/jreese/zsh-titles/blob/master/titles.plugin.zsh # Lazy-load Prezto's archive module without downloading all of Prezto's # submodules zcomet trigger --no-submodules archive unarchive lsarchive \ sorin-ionescu/prezto modules/archive # Run compinit and compile its cache zcomet compinit # Load completions # autoload -Uz compinit && compinit # Themes and UI zcomet load romkatv/powerlevel10k # Completions and plugins zcomet load zsh-users/zsh-syntax-highlighting zcomet load zsh-users/zsh-completions zcomet load zsh-users/zsh-autosuggestions zcomet load Aloxaf/fzf-tab # Oh My Zsh snippets # zcomet load ohmyzsh/ohmyzsh lib/git.zsh # zcomet load ohmyzsh/ohmyzsh plugins/git # zcomet load ohmyzsh/ohmyzsh plugins/sudo # zcomet load ohmyzsh/ohmyzsh plugins/archlinux # zcomet load ohmyzsh/ohmyzsh plugins/aws # zcomet load ohmyzsh/ohmyzsh plugins/kubectl # zcomet load ohmyzsh/ohmyzsh plugins/kubectx # zcomet load ohmyzsh/ohmyzsh plugins/command-not-found # Keybindings bindkey -e bindkey '^p' history-search-backward bindkey '^n' history-search-forward bindkey '^[w' kill-region bindkey "^[[1;5C" forward-word # Ctrl+Right bindkey "^[[1;5D" backward-word # Ctrl+Left # History HISTSIZE=99999 HISTFILE=~/.zsh_history SAVEHIST=$HISTSIZE HISTDUP=erase setopt appendhistory # setopt sharehistory setopt hist_ignore_space setopt hist_ignore_all_dups setopt hist_save_no_dups setopt hist_ignore_dups setopt hist_find_no_dups # Completion styling zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" zstyle ':completion:*' menu no zstyle ':fzf-tab:complete:cd:*' fzf-preview 'ls --color $realpath' zstyle ':fzf-tab:complete:__zoxide_z:*' fzf-preview 'ls --color $realpath' # Shell integrations # eval "$(fzf --zsh)" [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh eval "$(zoxide init zsh)" # Sourcing source $HOME/.cargo/env [ -f ~/.aliases ] && source ~/.aliases [ -f ~/.exports ] && source ~/.exports [ -f ~/.p10k.zsh ] && source ~/.p10k.zsh source /usr/share/doc/pkgfile/command-not-found.zsh # >>> conda initialize >>> # !! Contents within this block are managed by 'conda init' !! # __conda_setup="$('/home/e/miniconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)" # if [ $? -eq 0 ]; then # eval "$__conda_setup" # else # if [ -f "/home/e/miniconda3/etc/profile.d/conda.sh" ]; then # . "/home/e/miniconda3/etc/profile.d/conda.sh" # else # export PATH="/home/e/miniconda3/bin:$PATH" # fi # fi # unset __conda_setup # <<< conda initialize <<< export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion