# env for shell export TERM="xterm-256color" export LC_ALL=C.UTF-8 export LANG=C.UTF-8 export DOTFILES=$( cd "$( dirname "${BASH_SOURCE[0]:-${(%):-%x}}" )" && pwd ) export PATH="$PATH:$DOTFILES/scripts" export EDITOR='vim' # env for apps export PYTHONIOENCODING='UTF-8' export GPG_TTY=$(tty) export LESS_TERMCAP_md=$'\E[01;33m' # antigen if [[ -z "$DFS_NO_WALL" ]]; then ANTIGEN_URL="https://gitee.com/dictxiong/antigen/raw/develop/bin/antigen.zsh" ANTIGEN_OMZ_REPO_URL="https://gitee.com/dictxiong/ohmyzsh.git" ANTIGEN_PLUGINS=( \ "https://gitee.com/dictxiong/zsh-syntax-highlighting" \ "https://gitee.com/dictxiong/zsh-completions" \ "https://gitee.com/dictxiong/zsh-autosuggestions" \ ) else ANTIGEN_URL="https://raw.githubusercontent.com/zsh-users/antigen/develop/bin/antigen.zsh" ANTIGEN_OMZ_REPO_URL="https://github.com/ohmyzsh/ohmyzsh.git" ANTIGEN_PLUGINS=( \ "https://github.com/zsh-users/zsh-syntax-highlighting" \ "https://github.com/zsh-users/zsh-completions" \ "https://github.com/zsh-users/zsh-autosuggestions" \ ) fi ANTIGEN="$HOME/antigen.zsh" # Install antigen.zsh if not exist if [ ! -f "$ANTIGEN" ]; then echo "Installing antigen ..." TMPFILE="/tmp/antigen.zsh" if [ -x "$(which curl)" ]; then curl -L "$ANTIGEN_URL" -o "$TMPFILE" elif [ -x "$(which wget)" ]; then wget "$ANTIGEN_URL" -O "$TMPFILE" else echo "ERROR: please install curl or wget before installation !!" exit fi if [ ! $? -eq 0 ]; then echo "" echo "ERROR: downloading antigen.zsh ($ANTIGEN_URL) failed !!" exit fi; echo "move $TMPFILE to $ANTIGEN" mv "$TMPFILE" "$ANTIGEN" fi # config and enable antigen source "$ANTIGEN" # enable plugins antigen use oh-my-zsh ANTIGEN_PLUGINS+=( \ "command-not-found" \ "docker" \ "extract" \ "fzf" \ "git" \ "ripgrep" \ "tmux" \ "ufw" \ "z" \ ) for i in ${ANTIGEN_PLUGINS[*]} do if [[ -z $ANTIGEN_EXCLUDE || ! $i =~ $ANTIGEN_EXCLUDE ]]; then antigen bundle $i fi done # select theme TMP_THEME=ys if [[ -e /.dockerenv ]]; then TMP_THEME=blinks echo "===========================" echo "This is in docker container" echo "===========================" fi antigen theme ${ZSH_THEME:-$TMP_THEME} # apply antigen apply # end of antigen config # alias alias "pls"='sudo $(fc -ln -1)' alias "se"='sudo -sE' alias "pbd"='ping baidu.com' alias "p114"='ping 114.114.114.114' alias "p666"='ping6 2001:da8::666' case $(bash "$DOTFILES/tools/common.sh" get_os_type) in macos ) alias l='ls -lAGh -D "%y-%m-%d %H:%M"' ;; * ) alias l='ls -lAGh --time-style="+%y-%m-%d %H:%M"' ;; esac # key bindings bindkey "^b" beginning-of-line bindkey "^e" end-of-line bindkey "^[[H" beginning-of-line bindkey "^[[F" end-of-line bindkey "^[[1~" beginning-of-line bindkey "^[[4~" end-of-line bindkey "^[OH" beginning-of-line bindkey "^[OF" end-of-line # dfs dfs() { case $1 in update ) "$DOTFILES/update.sh" ;; force-update ) ( cd "$DOTFILES" git fetch --all ref=$(git symbolic-ref --short HEAD 2> /dev/null) || ref=$(git rev-parse --short HEAD 2> /dev/null) || return 0 for b in $(git for-each-ref refs/heads --format='%(refname)') ; do git checkout ${b#refs/heads/} ; git pull --ff-only ; done git checkout -c advice.detachedHead=false $ref) ;; version ) (cd "$DOTFILES" && git rev-parse HEAD) ;; reset ) antigen reset 1> /dev/null rm -rf $HOME/.antigen "$DOTFILES/install.sh" -r dfs update "$DOTFILES/install.sh" -i echo 'Done. Please open a new shell to see the changes.' ;; cd ) cd "$DOTFILES" ;; log ) "$DOTFILES/tools/common.sh" "post_log" "INFO" "dfs" "$2" ;; * ) echo "unknown command \"$1\". available: update, force-update, version, reset, cd, log" ;; esac }