|
| 1 | +# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. |
| 2 | +# Initialization code that may require console input (password prompts, [y/n] |
| 3 | +# confirmations, etc.) must go above this block; everything else may go below. |
| 4 | +###if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then |
| 5 | +### source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" |
| 6 | +###fi |
| 7 | +eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" |
| 8 | + |
| 9 | +[[ -d $HOME/.tmux/plugins ]] || mkdir -p $HOME/.tmux/plugins |
| 10 | +[[ -d $HOME/.tmux/plugins ]] || git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm |
| 11 | + |
| 12 | +[[ -d $HOME/fzf-sh ]] || git clone https://github.com/junegunn/fzf-git.sh.git ~/fzf-sh |
| 13 | + |
| 14 | +###source $(brew --prefix)/share/powerlevel10k/powerlevel10k.zsh-theme |
| 15 | + |
| 16 | +# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. |
| 17 | +### [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh |
| 18 | +# Source oh-my-posh instead |
| 19 | +eval "$(oh-my-posh init zsh --config ~/.config/cat_mocha.toml)" |
| 20 | + |
| 21 | +alias reload-zsh="source ~/.zshrc" |
| 22 | +alias edit-zsh="nvim ~/.zshrc" |
| 23 | + |
| 24 | +# history setup |
| 25 | +HISTFILE=$HOME/.zhistory |
| 26 | +SAVEHIST=1000 |
| 27 | +HISTSIZE=999 |
| 28 | +setopt share_history |
| 29 | +setopt hist_expire_dups_first |
| 30 | +setopt hist_ignore_dups |
| 31 | +setopt hist_verify |
| 32 | + |
| 33 | +# completion using arrow keys (based on history) |
| 34 | +bindkey '^[[A' history-search-backward |
| 35 | +bindkey '^[[B' history-search-forward |
| 36 | + |
| 37 | +source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh |
| 38 | +source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh |
| 39 | + |
| 40 | +export NVM_DIR="$HOME/.nvm" |
| 41 | +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm |
| 42 | +[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion |
| 43 | + |
| 44 | +export PATH=$PATH:/Users/joseanmartinez/.spicetify |
| 45 | + |
| 46 | +export PATH="$HOME/.rbenv/shims:$PATH" |
| 47 | + |
| 48 | +# ---- FZF ----- |
| 49 | + |
| 50 | +# Set up fzf key bindings and fuzzy completion |
| 51 | +eval "$(fzf --zsh)" |
| 52 | + |
| 53 | +# --- setup fzf theme --- |
| 54 | +fg="#CBE0F0" |
| 55 | +bg="#011628" |
| 56 | +bg_highlight="#143652" |
| 57 | +purple="#B388FF" |
| 58 | +blue="#06BCE4" |
| 59 | +cyan="#2CF9ED" |
| 60 | + |
| 61 | +#export FZF_DEFAULT_OPTS="--color=fg:${fg},bg:${bg},hl:${purple},fg+:${fg},bg+:${bg_highlight},hl+:${purple},info:${blue},prompt:${cyan},pointer:${cyan},marker:${cyan},spinner:${cyan},header:${cyan}" |
| 62 | +export FZF_DEFAULT_OPTS=" \ |
| 63 | +--color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 \ |
| 64 | +--color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc \ |
| 65 | +--color=marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8" |
| 66 | + |
| 67 | +# -- Use fd instead of fzf -- |
| 68 | + |
| 69 | +export FZF_DEFAULT_COMMAND="fd --hidden --strip-cwd-prefix --exclude .git" |
| 70 | +export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND" |
| 71 | +export FZF_ALT_C_COMMAND="fd --type=d --hidden --strip-cwd-prefix --exclude .git" |
| 72 | + |
| 73 | +# Use fd (https://github.com/sharkdp/fd) for listing path candidates. |
| 74 | +# - The first argument to the function ($1) is the base path to start traversal |
| 75 | +# - See the source code (completion.{bash,zsh}) for the details. |
| 76 | +_fzf_compgen_path() { |
| 77 | + fd --hidden --exclude .git . "$1" |
| 78 | +} |
| 79 | + |
| 80 | +# Use fd to generate the list for directory completion |
| 81 | +_fzf_compgen_dir() { |
| 82 | + fd --type=d --hidden --exclude .git . "$1" |
| 83 | +} |
| 84 | + |
| 85 | +source ~/fzf-git.sh/fzf-git.sh |
| 86 | + |
| 87 | +show_file_or_dir_preview="if [ -d {} ]; then eza --tree --color=always {} | head -200; else bat -n --color=always --line-range :500 {}; fi" |
| 88 | + |
| 89 | +export FZF_CTRL_T_OPTS="--preview '$show_file_or_dir_preview'" |
| 90 | +export FZF_ALT_C_OPTS="--preview 'eza --tree --color=always {} | head -200'" |
| 91 | + |
| 92 | +# Advanced customization of fzf options via _fzf_comprun function |
| 93 | +# - The first argument to the function is the name of the command. |
| 94 | +# - You should make sure to pass the rest of the arguments to fzf. |
| 95 | +_fzf_comprun() { |
| 96 | + local command=$1 |
| 97 | + shift |
| 98 | + |
| 99 | + case "$command" in |
| 100 | + cd) fzf --preview 'eza --tree --color=always {} | head -200' "$@" ;; |
| 101 | + export|unset) fzf --preview "eval 'echo \${}'" "$@" ;; |
| 102 | + ssh) fzf --preview 'dig {}' "$@" ;; |
| 103 | + *) fzf --preview "$show_file_or_dir_preview" "$@" ;; |
| 104 | + esac |
| 105 | +} |
| 106 | + |
| 107 | +# ----- Bat (better cat) ----- |
| 108 | + |
| 109 | +export BAT_THEME="Catppuccin Mocha" |
| 110 | +# ---- Eza (better ls) ----- |
| 111 | + |
| 112 | +alias ls="eza --icons=always" |
| 113 | + |
| 114 | +# ---- TheFuck ----- |
| 115 | + |
| 116 | +# thefuck alias |
| 117 | +eval $(thefuck --alias) |
| 118 | +eval $(thefuck --alias fk) |
| 119 | + |
| 120 | +# ---- Zoxide (better cd) ---- |
| 121 | +eval "$(zoxide init zsh)" |
| 122 | + |
| 123 | +alias cd="z" |
| 124 | + |
| 125 | +test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh" |
| 126 | + |
| 127 | +# >>> conda initialize >>> |
| 128 | +# !! Contents within this block are managed by 'conda init' !! |
| 129 | +__conda_setup="$('/opt/homebrew/Caskroom/mambaforge/base/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)" |
| 130 | +if [ $? -eq 0 ]; then |
| 131 | + eval "$__conda_setup" |
| 132 | +else |
| 133 | + if [ -f "/opt/homebrew/Caskroom/mambaforge/base/etc/profile.d/conda.sh" ]; then |
| 134 | + . "/opt/homebrew/Caskroom/mambaforge/base/etc/profile.d/conda.sh" |
| 135 | + else |
| 136 | + export PATH="/opt/homebrew/Caskroom/mambaforge/base/bin:$PATH" |
| 137 | + fi |
| 138 | +fi |
| 139 | +unset __conda_setup |
| 140 | +# <<< conda initialize <<< |
| 141 | +###eval "$(starship init zsh)" |
| 142 | + |
| 143 | + |
| 144 | +export K9S_CONFIG_DIR=$HOME/.config/k9s |
| 145 | +fastfetch |
| 146 | +export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH" |
| 147 | + |
| 148 | +# >>> mamba initialize >>> |
| 149 | +# !! Contents within this block are managed by 'mamba init' !! |
| 150 | +export MAMBA_EXE='/home/linuxbrew/.linuxbrew/Cellar/micromamba/1.5.8/bin/micromamba'; |
| 151 | +export MAMBA_ROOT_PREFIX='/home/panos/micromamba'; |
| 152 | +__mamba_setup="$("$MAMBA_EXE" shell hook --shell zsh --root-prefix "$MAMBA_ROOT_PREFIX" 2> /dev/null)" |
| 153 | +if [ $? -eq 0 ]; then |
| 154 | + eval "$__mamba_setup" |
| 155 | +else |
| 156 | + alias micromamba="$MAMBA_EXE" # Fallback on help from mamba activate |
| 157 | +fi |
| 158 | +unset __mamba_setup |
| 159 | +# <<< mamba initialize <<< |
0 commit comments