1
0
Fork 0
mirror of https://github.com/MillironX/dotfiles.git synced 2024-11-15 03:13:10 +00:00
dotfiles/executable_dot_zshrc

137 lines
4 KiB
Text

# 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
# Load the antigen library
if [[ ! -f "$HOME/.antigen.zsh" ]]; then
curl -L git.io/antigen > $HOME/.antigen.zsh
fi
source "$HOME/.antigen.zsh"
# Load the oh-my-zsh library
antigen use oh-my-zsh
# Default bundles
antigen bundle git
antigen bundle gitignore
antigen bundle colored-man-pages
antigen bundle cp
antigen bundle screen
antigen bundle npm
antigen bundle bundler
antigen bundle extract
# Custom bundles
antigen bundle zsh-users/zsh-syntax-highlighting
antigen bundle zsh-users/zsh-autosuggestions
antigen bundle zsh-users/zsh-completions
antigen bundle esc/conda-zsh-completion
antigen bundle RobSis/zsh-completion-generator
antigen bundle kloetzl/biozsh
antigen bundle millironx/cowsay-cows
DEFAULT_USER="$USER"
# Theming: if I have a nerd fond, use it to the fullest extent possible
# If not, check for basic powerline, then fall back to text-based
# The presence of nerd fonts and/or powerline fonts will be designated
# by the presence of a ".nf" and ".powerline" file in the home directory,
# respectively
source /etc/os-release
if [[ -f "$HOME/.nf" ]]; then
# Nerd font config flag set
antigen theme romkatv/powerlevel10k
else
if [[ -f "$HOME/.powerline" ]]; then
# Powerline config flag set
antigen theme https://gist.github.com/e95df0a0aa6d1721e85b905399971515.git believer
else
# Powerline config flag not set
antigen theme https://gist.github.com/efde5e8d507bd3e1e046198b69d579f8.git gianu-improved
fi
fi
# oh-my-zsh configuration settings
HYPHEN_INSENSITIVE="true"
ENABLE_CORRECTION="true"
COMPLETION_WAITING_DOTS="true"
source $HOME/.hooks
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('$HOME/miniconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "$HOME/miniconda3/etc/profile.d/conda.sh" ]; then
. "$HOME/miniconda3/etc/profile.d/conda.sh"
else
export PATH="$HOME/miniconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
# >>> direnv initalize >>>
eval "$(direnv hook zsh)"
# <<< direnv initalize <<<
# Tell Antigen that you're done
antigen apply
# User configuration
# Setup bash completion support
# (zsh completion support is handled by oh-my-zsh)
autoload -U bashcompinit
bashcompinit
# Enable pipx completions
if [[ $(command -v pipx) ]]; then
eval "$(register-python-argcomplete pipx)"
fi
# Preferred editor for local and remote sessions
if [[ $(command -v nano) ]]; then
export EDITOR=nano
fi
# Set a cool new pager with color support
if [[ $(command -v most) ]]; then
export PAGER=most
fi
# Fix screen wrapping if on a local terminal
# (Will cause problems if set twice, i.e. in
# both local and remote sessions)
if [ ! -n "$SSH_CONNECTION" ]; then
ZLE_RPROMPT_INDENT=0
fi
alias zshconfig="$EDITOR ~/.zshrc"
source $HOME/.aliases
# Replace cat with bat
if [[ $(command -v bat) ]]; then
export BAT_PAGER="less -RF"
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
export MANROFFOPT="-c"
fi
# Add notification support for long-running processes
if [[ $(command -v ntfy) ]]; then
eval "$(ntfy shell-integration --longer-than 30)"
export AUTO_NTFY_DONE_IGNORE="vim nano emacs zshconfig screen tmux ssh top htop less more most nethogs 'singularity shell' julia man"
fi
# Set the Nextflow enviroment caches
export NXF_HOME="$HOME/.nextflow"
export NXF_CONDA_CACHEDIR="$NXF_HOME/conda"
export NXF_SINGULARITY_CACHEDIR="$NXF_HOME/singularity"
export NXF_CHARLIECLOUD_CACHEDIR="$NXF_HOME/charlie"
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh