typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet # 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 you come from bash you might have to change your $PATH. # export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH # Path to your Oh My Zsh installation. export ZSH="$HOME/.oh-my-zsh" # Set name of the theme to load --- if set to "random", it will # load a random theme each time Oh My Zsh is loaded, in which case, # to know which specific one was loaded, run: echo $RANDOM_THEME # See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes ZSH_THEME="powerlevel10k/powerlevel10k" # Set list of themes to pick from when loading at random # Setting this variable when ZSH_THEME=random will cause zsh to load # a theme from this variable instead of looking in $ZSH/themes/ # If set to an empty array, this variable will have no effect. # ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) # Uncomment the following line to use case-sensitive completion. # CASE_SENSITIVE="true" # Uncomment the following line to use hyphen-insensitive completion. # Case-sensitive completion must be off. _ and - will be interchangeable. # HYPHEN_INSENSITIVE="true" # Uncomment one of the following lines to change the auto-update behavior # zstyle ':omz:update' mode disabled # disable automatic updates # zstyle ':omz:update' mode auto # update automatically without asking # zstyle ':omz:update' mode reminder # just remind me to update when it's time # Uncomment the following line to change how often to auto-update (in days). # zstyle ':omz:update' frequency 13 # Uncomment the following line if pasting URLs and other text is messed up. # DISABLE_MAGIC_FUNCTIONS="true" # Uncomment the following line to disable colors in ls. # DISABLE_LS_COLORS="true" # Uncomment the following line to disable auto-setting terminal title. # DISABLE_AUTO_TITLE="true" # Uncomment the following line to enable command auto-correction. # ENABLE_CORRECTION="true" # Uncomment the following line to display red dots whilst waiting for completion. # You can also set it to another string to have that shown instead of the default red dots. # e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f" # Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765) # COMPLETION_WAITING_DOTS="true" # Uncomment the following line if you want to disable marking untracked files # under VCS as dirty. This makes repository status check for large repositories # much, much faster. # DISABLE_UNTRACKED_FILES_DIRTY="true" # Uncomment the following line if you want to change the command execution time # stamp shown in the history command output. # You can set one of the optional three formats: # "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" # or set a custom format using the strftime function format specifications, # see 'man strftime' for details. # HIST_STAMPS="mm/dd/yyyy" # Would you like to use another custom folder than $ZSH/custom? # ZSH_CUSTOM=/path/to/new-custom-folder # Which plugins would you like to load? # Standard plugins can be found in $ZSH/plugins/ # Custom plugins may be added to $ZSH_CUSTOM/plugins/ # Example format: plugins=(rails git textmate ruby lighthouse) # Add wisely, as too many plugins slow down shell startup. plugins=(git sudo z colored-man-pages fzf zsh-syntax-highlighting zsh-autosuggestions web-search copypath) source $ZSH/oh-my-zsh.sh # User configuration # export MANPATH="/usr/local/man:$MANPATH" # You may need to manually set your language environment # export LANG=en_US.UTF-8 # Preferred editor for local and remote sessions # if [[ -n $SSH_CONNECTION ]]; then # export EDITOR='vim' # else # export EDITOR='nvim' # fi # Compilation flags # export ARCHFLAGS="-arch $(uname -m)" # Set personal aliases, overriding those provided by Oh My Zsh libs, # plugins, and themes. Aliases can be placed here, though Oh My Zsh # users are encouraged to define aliases within a top-level file in # the $ZSH_CUSTOM folder, with .zsh extension. Examples: # - $ZSH_CUSTOM/aliases.zsh # - $ZSH_CUSTOM/macos.zsh # For a full list of active aliases, run `alias`. # # Example aliases # alias zshconfig="mate ~/.zshrc" # alias ohmyzsh="mate ~/.oh-my-zsh" # To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh alias reload="source ~/.zshrc && echo 'ZSH config reloaded from ~/.zshrc'" alias editrc="nano ~/.zshrc" alias c="clear" alias ls="ls --color=auto" alias ..="cd .." alias ...="cd ../.." alias ....="cd ../../.." alias cd..="cd .." alias h="cd ~" alias dc="cd ~/Documents/code" # System information alias df="df -h" # disk usage human readable alias du="du -h" # directory usage human readable alias free="free -h" # memory usage human readable alias sysinfo="/usr/local/bin/monitoring/sysinfo 2>/dev/null || echo 'sysinfo script not found'" # Process management alias ps="ps aux" alias cpu="lscpu" alias top="btop" alias mem="free -m" alias ports="ss -tulpn" # open ports # Network information alias myip="curl -s http://ipecho.net/plain; echo" alias localip="ip route get 1.2.3.4 | awk '{print $7}'" alias netinfo="/usr/local/bin/monitoring/netinfo 2>/dev/null || echo 'netinfo script not found'" # Software inventory - show what's installed on this system alias showapps="$HOME/.local/bin/showapps" alias apps="showapps" # Python alias py="python3" alias pip="pip3" alias venv="python3 -m venv" alias activate="source venv/bin/activate" # Docker alias d="docker" alias dc="docker-compose" alias dcu="docker-compose up -d" alias dcd="docker-compose down" alias dcb="docker-compose build" alias dps="docker ps" alias di="docker images" # IDE - suppress root warnings alias code="code --no-sandbox --user-data-dir=/root/.vscode-root" alias cursor="cursor --no-sandbox --disable-gpu-sandbox --appimage-extract-and-run --user-data-dir=/root/.cursor-root" # Date and time alias now="date +'%Y-%m-%d %H:%M:%S'" alias today="date +'%Y-%m-%d'" # Package management (Debian/Ubuntu) alias update="sudo apt update && sudo apt upgrade -y" alias install="sudo apt install" alias remove="sudo apt remove" alias search="apt search" # Permissions and ownership alias chmox="chmod +x" alias own="sudo chown -R $USER:$USER" alias nfresh="rm -rf node_modules/ package-lock.json && npm install" # SSH aliases for Ansible hosts alias ssh-gitea="ssh gitea@10.0.30.169" alias ssh-portainer="ssh ladmin@10.0.30.69" alias ssh-homepage="ssh homepage@10.0.30.12" alias ssh-vaultwarden="ssh root@100.100.19.11" alias ssh-vaultwarden-fallback="ssh root@10.0.10.142" alias ssh-dev01="ssh ladmin@10.0.30.105" alias ssh-bottom="ssh beast@10.0.10.156" alias ssh-debian="ssh user@10.0.10.206" alias ssh-devGPU="ssh root@10.0.30.63" alias ssh-ansible="ssh master@10.0.10.157" alias ssh-tailscale="ssh ladmin@100.66.218.53" alias ssh-caddy="ssh root@100.117.106.18" alias ssh-caddy-fallback="ssh root@10.0.10.50" alias ssh-jellyfin="ssh root@100.104.109.45" alias ssh-jellyfin-fallback="ssh root@10.0.10.232" alias ssh-listmonk="ssh root@100.73.190.115" alias ssh-listmonk-fallback="ssh root@10.0.10.149" alias ssh-desktop="ssh beast@100.117.34.106" # >>> conda initialize >>> # !! Contents within this block are managed by 'conda init' !! if [ -f "$HOME/anaconda3/bin/conda" ]; then __conda_setup="$('$HOME/anaconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)" if [ $? -eq 0 ]; then eval "$__conda_setup" else if [ -f "$HOME/anaconda3/etc/profile.d/conda.sh" ]; then . "$HOME/anaconda3/etc/profile.d/conda.sh" else export PATH="$HOME/anaconda3/bin:$PATH" fi fi unset __conda_setup fi # <<< conda initialize <<<