260 lines
8.1 KiB
Plaintext
260 lines
8.1 KiB
Plaintext
# 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="agnoster"
|
|
|
|
# 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
|
|
docker
|
|
docker-compose
|
|
ansible
|
|
terraform
|
|
kubectl
|
|
helm
|
|
aws
|
|
gcloud
|
|
zsh-autosuggestions
|
|
zsh-syntax-highlighting
|
|
zsh-completions
|
|
colored-man-pages
|
|
command-not-found
|
|
extract
|
|
history-substring-search
|
|
sudo
|
|
systemd
|
|
tmux
|
|
vscode
|
|
web-search
|
|
z
|
|
)
|
|
|
|
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='vim'
|
|
fi
|
|
|
|
# Compilation flags
|
|
# export ARCHFLAGS="-arch $(uname -m)"
|
|
|
|
# =============================================================================
|
|
# CUSTOM CONFIGURATION FOR MANAGEMENT SYSTEM
|
|
# =============================================================================
|
|
|
|
# Load proxy configuration if exists
|
|
if [[ -f /root/mgmt/configuration/proxy.env ]]; then
|
|
source /root/mgmt/configuration/proxy.env
|
|
fi
|
|
|
|
# Project management aliases
|
|
alias mgmt='cd /root/mgmt'
|
|
alias mgmt-status='cd /root/mgmt && ./mgmt.sh status'
|
|
alias mgmt-deploy='cd /root/mgmt && ./mgmt.sh deploy'
|
|
alias mgmt-cleanup='cd /root/mgmt && ./mgmt.sh cleanup'
|
|
|
|
# Ansible aliases
|
|
alias ansible-check='cd /root/mgmt/configuration && ansible-playbook --syntax-check'
|
|
alias ansible-deploy='cd /root/mgmt/configuration && ansible-playbook -i inventories/production/inventory.ini'
|
|
alias ansible-ping='cd /root/mgmt/configuration && ansible -i inventories/production/inventory.ini all -m ping'
|
|
|
|
# OpenTofu/Terraform aliases
|
|
alias tofu-init='cd /root/mgmt/tofu/environments/dev && tofu init'
|
|
alias tofu-plan='cd /root/mgmt/tofu/environments/dev && tofu plan -var-file="terraform.tfvars"'
|
|
alias tofu-apply='cd /root/mgmt/tofu/environments/dev && tofu apply -var-file="terraform.tfvars"'
|
|
alias tofu-destroy='cd /root/mgmt/tofu/environments/dev && tofu destroy -var-file="terraform.tfvars"'
|
|
alias tofu-output='cd /root/mgmt/tofu/environments/dev && tofu output'
|
|
|
|
# Docker aliases
|
|
alias d='docker'
|
|
alias dc='docker-compose'
|
|
alias dps='docker ps'
|
|
alias dpsa='docker ps -a'
|
|
alias di='docker images'
|
|
alias dex='docker exec -it'
|
|
alias dlog='docker logs -f'
|
|
alias dstop='docker stop'
|
|
alias dstart='docker start'
|
|
alias drm='docker rm'
|
|
alias drmi='docker rmi'
|
|
alias dclean='docker system prune -f'
|
|
|
|
# Docker Swarm aliases
|
|
alias dswarm='docker swarm'
|
|
alias dstack='docker stack'
|
|
alias dservice='docker service'
|
|
alias dnode='docker node'
|
|
alias dnetwork='docker network'
|
|
alias dsecret='docker secret'
|
|
alias dconfig='docker config'
|
|
|
|
# Kubernetes aliases
|
|
alias k='kubectl'
|
|
alias kgp='kubectl get pods'
|
|
alias kgs='kubectl get services'
|
|
alias kgd='kubectl get deployments'
|
|
alias kgn='kubectl get nodes'
|
|
alias kdp='kubectl describe pod'
|
|
alias kds='kubectl describe service'
|
|
alias kdd='kubectl describe deployment'
|
|
alias kaf='kubectl apply -f'
|
|
alias kdf='kubectl delete -f'
|
|
alias kl='kubectl logs -f'
|
|
|
|
# Git aliases
|
|
alias gs='git status'
|
|
alias ga='git add'
|
|
alias gc='git commit'
|
|
alias gp='git push'
|
|
alias gl='git pull'
|
|
alias gd='git diff'
|
|
alias gb='git branch'
|
|
alias gco='git checkout'
|
|
alias gcom='git checkout main'
|
|
alias gcod='git checkout develop'
|
|
alias gst='git stash'
|
|
alias gstp='git stash pop'
|
|
|
|
# System aliases
|
|
alias ll='ls -alF'
|
|
alias la='ls -A'
|
|
alias l='ls -CF'
|
|
alias ..='cd ..'
|
|
alias ...='cd ../..'
|
|
alias ....='cd ../../..'
|
|
alias grep='grep --color=auto'
|
|
alias fgrep='fgrep --color=auto'
|
|
alias egrep='egrep --color=auto'
|
|
|
|
# Network aliases
|
|
alias ports='netstat -tuln'
|
|
alias myip='curl -s https://httpbin.org/ip | jq -r .origin'
|
|
alias speedtest='curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python3'
|
|
|
|
# Process aliases
|
|
alias psg='ps aux | grep'
|
|
alias top='htop'
|
|
|
|
# File operations
|
|
alias cp='cp -i'
|
|
alias mv='mv -i'
|
|
alias rm='rm -i'
|
|
alias mkdir='mkdir -pv'
|
|
|
|
# History configuration
|
|
HISTSIZE=10000
|
|
SAVEHIST=10000
|
|
HISTFILE=~/.zsh_history
|
|
setopt HIST_VERIFY
|
|
setopt SHARE_HISTORY
|
|
setopt APPEND_HISTORY
|
|
setopt INC_APPEND_HISTORY
|
|
setopt HIST_IGNORE_DUPS
|
|
setopt HIST_IGNORE_ALL_DUPS
|
|
setopt HIST_REDUCE_BLANKS
|
|
setopt HIST_IGNORE_SPACE
|
|
|
|
# Auto-completion configuration
|
|
autoload -U compinit && compinit
|
|
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
|
|
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
|
|
zstyle ':completion:*' menu select
|
|
|
|
# Key bindings
|
|
bindkey '^[[A' history-substring-search-up
|
|
bindkey '^[[B' history-substring-search-down
|
|
bindkey '^[[1;5C' forward-word
|
|
bindkey '^[[1;5D' backward-word
|
|
|
|
# Auto-suggestions configuration
|
|
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'
|
|
ZSH_AUTOSUGGEST_STRATEGY=(history completion)
|
|
|
|
# Syntax highlighting configuration
|
|
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern cursor)
|
|
|
|
# Welcome message
|
|
echo "🚀 Management System Shell Ready!"
|
|
echo "📁 Project: /root/mgmt"
|
|
echo "🔧 Available commands: mgmt-status, mgmt-deploy, mgmt-cleanup"
|
|
echo "🐳 Docker: d, dc, dps, dex, dlog"
|
|
echo "☸️ Kubernetes: k, kgp, kgs, kaf, kdf"
|
|
echo "🏗️ OpenTofu: tofu-init, tofu-plan, tofu-apply"
|
|
echo "⚙️ Ansible: ansible-check, ansible-deploy, ansible-ping"
|
|
echo "" |