chore(ZSH): Let Oh-my-zsh. Use antidote instead + custom .zshrc
This commit is contained in:
parent
1c40ae6526
commit
abcc7e16cb
@ -77,31 +77,6 @@ POWERLEVEL9K_SHORTEN_DIR_LENGTH=1
|
||||
POWERLEVEL9K_SHORTEN_DELIMITER=""
|
||||
POWERLEVEL9K_SHORTEN_STRATEGY="truncate_from_right"
|
||||
|
||||
# User configuration
|
||||
export PAGER=most
|
||||
export BROWSER=elinks
|
||||
export SSH_ASKPASS=qt4-ssh-askpass
|
||||
export AUTEUR="Olivier DOSSMANN"
|
||||
export DEFAULT_USER="od"
|
||||
export PYTHONWARNINGS="ignore::DeprecationWarning"
|
||||
#export FLASK_SKIP_DOTENV=1 ## make problems with poetry and flask applications
|
||||
export PIPENV_QUIET=1 # enlève les courtesy notice
|
||||
export ENABLE_WARNINGS=false # enlève les warnings dans le setup RERO-ils
|
||||
export KUBECONFIG=$HOME/kubeconfig
|
||||
|
||||
# You may need to manually set your language environment
|
||||
export LANG=fr_FR.UTF-8
|
||||
|
||||
# Preferred editor for local and remote sessions
|
||||
if [[ -n $SSH_CONNECTION ]]; then
|
||||
export EDITOR='vim'
|
||||
else
|
||||
export EDITOR='nvim'
|
||||
fi
|
||||
|
||||
# Enlève le prompt de droite après avoir appuyé sur Entrée
|
||||
setopt transient_rprompt
|
||||
|
||||
# Compilation flags
|
||||
# export ARCHFLAGS="-arch x86_64"
|
||||
|
||||
@ -113,63 +88,10 @@ setopt transient_rprompt
|
||||
# Example aliases
|
||||
# alias zshconfig="mate ~/.zshrc"
|
||||
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||
alias e="${EDITOR}"
|
||||
alias r="${EDITOR} -R"
|
||||
alias sm="sublime_merge"
|
||||
alias vi="${EDITOR}"
|
||||
alias mem='free -mt'
|
||||
alias df='df -hT'
|
||||
alias ls='exa'
|
||||
alias ll='exa -l'
|
||||
alias l='exa -F'
|
||||
alias rgrep='rg --no-ignore'
|
||||
export GREP_COLORS='ms=01;33:mc=01;33:s1=:cx=:fn=37;ln=32:bn=32:se=36'
|
||||
alias diff='colordiff'
|
||||
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
|
||||
# évite de faire des erreurs
|
||||
alias rm='rm -i'
|
||||
alias cp='cp -i'
|
||||
alias grep='grep --color'
|
||||
# requêtes
|
||||
alias https='http --verify=no --default-scheme=https'
|
||||
# pytest
|
||||
alias pyt='poetry run pytest -vvs --no-cov --disable-warnings'
|
||||
alias pytc='poetry run pytest -vvs --disable-warnings --cov-report=xml:cov.xml'
|
||||
# projet rero
|
||||
alias rero="ALIAS=rero /home/od/projets/rerologik/agnes"
|
||||
# coloration de la commande IP
|
||||
alias ip='ip -c'
|
||||
alias k='kubectl'
|
||||
alias devu="${HOME}/devu/devu/devu"
|
||||
|
||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||
[[ -f ~/.p10k.zsh ]] && source ~/.p10k.zsh
|
||||
|
||||
# Connexion automatique
|
||||
mkdir -p "${HOME}/etc/ssh";
|
||||
function ssh-procure-launch-agent {
|
||||
eval `ssh-agent -s -a ~/etc/ssh/ssh-agent-socket`;
|
||||
ssh-add;
|
||||
}
|
||||
|
||||
if [ ! $SSH_AGENT_PID ]; then
|
||||
if [ -e ~/etc/ssh/ssh-agent-socket ] ; then
|
||||
SSH_AGENT_PID=`ps -fC ssh-agent |grep 'etc/ssh/ssh-agent-socket' |sed -r 's/^\S+\s+(\S+).*$/\1/'`;
|
||||
if [[ $SSH_AGENT_PID =~ [0-9]+ ]]; then
|
||||
# in this case the agent has already been launched and we are just attaching to it.
|
||||
##++ It should check that this pid is actually active & belongs to an ssh instance
|
||||
export SSH_AGENT_PID;
|
||||
SSH_AUTH_SOCK=~/etc/ssh/ssh-agent-socket; export SSH_AUTH_SOCK;
|
||||
else
|
||||
# in this case there is no agent running, so the socket file is left over from a graceless agent termination.
|
||||
rm ~/etc/ssh/ssh-agent-socket;
|
||||
ssh-procure-launch-agent;
|
||||
fi;
|
||||
else
|
||||
ssh-procure-launch-agent;
|
||||
fi;
|
||||
fi;
|
||||
|
||||
# Desktop specificities for development
|
||||
case $HOST in
|
||||
lueur | baloo | sam)
|
36
.config/zsh/.zshrc
Normal file
36
.config/zsh/.zshrc
Normal file
@ -0,0 +1,36 @@
|
||||
#!/usr/bin/env zsh
|
||||
|
||||
# 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 fzf
|
||||
source /usr/share/fzf/completion.zsh
|
||||
source /usr/share/fzf/key-bindings.zsh
|
||||
|
||||
# Clone antidote if necessary.
|
||||
if [[ ! -d ${ZDOTDIR:-$HOME}/.antidote ]]; then
|
||||
git clone https://github.com/mattmc3/antidote ${ZDOTDIR:-$HOME}/.antidote
|
||||
fi
|
||||
|
||||
# Create an amazing Zsh config using antidote plugins.
|
||||
source ${ZDOTDIR:-$HOME}/.antidote/antidote.zsh
|
||||
antidote load
|
||||
|
||||
# Enlève le prompt de droite après avoir appuyé sur Entrée
|
||||
setopt transient_rprompt
|
||||
|
||||
# Source anything in .zshrc.d.
|
||||
for _rc in ${ZDOTDIR:-$HOME}/.zshrc.d/*.zsh; do
|
||||
# Ignore tilde files.
|
||||
if [[ $_rc:t != '~'* ]]; then
|
||||
source "$_rc"
|
||||
fi
|
||||
done
|
||||
unset _rc
|
||||
|
||||
# To customize prompt, run `p10k configure` or edit .p10k.zsh.
|
||||
[[ ! -f ${ZDOTDIR:-$HOME}/.p10k.zsh ]] || source ${ZDOTDIR:-$HOME}/.p10k.zsh
|
237
.config/zsh/.zshrc.d/aliases.zsh
Normal file
237
.config/zsh/.zshrc.d/aliases.zsh
Normal file
@ -0,0 +1,237 @@
|
||||
#!/usr/bin/env zsh
|
||||
|
||||
# editor
|
||||
alias e="${EDITOR}"
|
||||
alias r="${EDITOR} -R"
|
||||
alias sm="sublime_merge"
|
||||
alias vi="${EDITOR}"
|
||||
|
||||
# system
|
||||
alias mem='free -mt'
|
||||
alias df='df -hT'
|
||||
|
||||
# navigation
|
||||
alias ls='eza'
|
||||
alias ll='eza -lah --group --smart-group --icons'
|
||||
alias l='eza -F'
|
||||
|
||||
# web
|
||||
alias https='http --verify=no --default-scheme=https'
|
||||
|
||||
# search
|
||||
alias rgrep='rg --no-ignore'
|
||||
|
||||
# add colors to some commands
|
||||
alias diff='colordiff'
|
||||
export GREP_COLORS='ms=01;33:mc=01;33:s1=:cx=:fn=37;ln=32:bn=32:se=36'
|
||||
alias grep='grep --color'
|
||||
alias ip='ip -c'
|
||||
|
||||
# dotfiles
|
||||
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
|
||||
|
||||
# be careful!
|
||||
alias rm='rm -i'
|
||||
alias cp='cp -i'
|
||||
alias mv='mv -i'
|
||||
|
||||
# pytest
|
||||
alias pyt='poetry run pytest -vvs --no-cov --disable-warnings'
|
||||
alias pytc='poetry run pytest -vvs --disable-warnings --cov-report=xml:cov.xml'
|
||||
|
||||
# k8s
|
||||
alias k='kubectl'
|
||||
|
||||
# miscellaneous
|
||||
alias devu="${HOME}/devu/devu/devu"
|
||||
|
||||
# git
|
||||
alias ga='git add'
|
||||
alias gaa='git add --all'
|
||||
alias gam='git am'
|
||||
alias gama='git am --abort'
|
||||
alias gamc='git am --continue'
|
||||
alias gams='git am --skip'
|
||||
alias gamscp='git am --show-current-patch'
|
||||
alias gap='git apply'
|
||||
alias gapa='git add --patch'
|
||||
alias gapt='git apply --3way'
|
||||
alias gau='git add --update'
|
||||
alias gav='git add --verbose'
|
||||
alias gb='git branch'
|
||||
alias gbD='git branch --delete --force'
|
||||
alias gba='git branch --all'
|
||||
alias gbd='git branch --delete'
|
||||
alias gbl='git blame -w'
|
||||
alias gbm='git branch --move'
|
||||
alias gbnm='git branch --no-merged'
|
||||
alias gbr='git branch --remote'
|
||||
alias gbs='git bisect'
|
||||
alias gbsb='git bisect bad'
|
||||
alias gbsg='git bisect good'
|
||||
alias gbsn='git bisect new'
|
||||
alias gbso='git bisect old'
|
||||
alias gbsr='git bisect reset'
|
||||
alias gbss='git bisect start'
|
||||
alias gc='git commit --verbose'
|
||||
alias 'gc!'='git commit --verbose --amend'
|
||||
alias gcB='git checkout -B'
|
||||
alias gca='git commit --verbose --all'
|
||||
alias 'gca!'='git commit --verbose --all --amend'
|
||||
alias gcam='git commit --all --message'
|
||||
alias 'gcan!'='git commit --verbose --all --no-edit --amend'
|
||||
alias 'gcann!'='git commit --verbose --all --date=now --no-edit --amend'
|
||||
alias 'gcans!'='git commit --verbose --all --signoff --no-edit --amend'
|
||||
alias gcas='git commit --all --signoff'
|
||||
alias gcasm='git commit --all --signoff --message'
|
||||
alias gcb='git checkout -b'
|
||||
alias gcd='git checkout $(git_develop_branch)'
|
||||
alias gcf='git config --list'
|
||||
alias gcl='git clone --recurse-submodules'
|
||||
alias gclean='git clean --interactive -d'
|
||||
alias gclf='git clone --recursive --shallow-submodules --filter=blob:none --also-filter-submodules'
|
||||
alias gcm='git checkout $(git_main_branch)'
|
||||
alias gcmsg='git commit --message'
|
||||
alias gcn='git commit --verbose --no-edit'
|
||||
alias 'gcn!'='git commit --verbose --no-edit --amend'
|
||||
alias gco='git checkout'
|
||||
alias gcor='git checkout --recurse-submodules'
|
||||
alias gcount='git shortlog --summary --numbered'
|
||||
alias gcp='git cherry-pick'
|
||||
alias gcpa='git cherry-pick --abort'
|
||||
alias gcpc='git cherry-pick --continue'
|
||||
alias gcs='git commit --gpg-sign'
|
||||
alias gcsm='git commit --signoff --message'
|
||||
alias gcss='git commit --gpg-sign --signoff'
|
||||
alias gcssm='git commit --gpg-sign --signoff --message'
|
||||
alias gd='git diff'
|
||||
alias gdca='git diff --cached'
|
||||
alias gdct='git describe --tags $(git rev-list --tags --max-count=1)'
|
||||
alias gdcw='git diff --cached --word-diff'
|
||||
alias gds='git diff --staged'
|
||||
alias gdt='git diff-tree --no-commit-id --name-only -r'
|
||||
alias gdup='git diff @{upstream}'
|
||||
alias gdw='git diff --word-diff'
|
||||
alias gf='git fetch'
|
||||
alias gfa='git fetch --all --tags --prune --jobs=10'
|
||||
alias gfg='git ls-files | grep'
|
||||
alias gfo='git fetch origin'
|
||||
alias gg='git gui citool'
|
||||
alias gga='git gui citool --amend'
|
||||
alias ggpull='git pull origin "$(git_current_branch)"'
|
||||
alias ggpush='git push origin "$(git_current_branch)"'
|
||||
alias ggsup='git branch --set-upstream-to=origin/$(git_current_branch)'
|
||||
alias ghh='git help'
|
||||
alias gignore='git update-index --assume-unchanged'
|
||||
alias gignored='git ls-files -v | grep "^[[:lower:]]"'
|
||||
alias git-svn-dcommit-push='git svn dcommit && git push github $(git_main_branch):svntrunk'
|
||||
alias gl='git pull'
|
||||
alias glg='git log --stat'
|
||||
alias glgg='git log --graph'
|
||||
alias glgga='git log --graph --decorate --all'
|
||||
alias glgm='git log --graph --max-count=10'
|
||||
alias glgp='git log --stat --patch'
|
||||
alias glo='git log --oneline --decorate'
|
||||
alias glod='git log --graph --pretty="%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset"'
|
||||
alias glods='git log --graph --pretty="%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset" --date=short'
|
||||
alias glog='git log --oneline --decorate --graph'
|
||||
alias gloga='git log --oneline --decorate --graph --all'
|
||||
alias glol='git log --graph --pretty="%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset"'
|
||||
alias glola='git log --graph --pretty="%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset" --all'
|
||||
alias glols='git log --graph --pretty="%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ar) %C(bold blue)<%an>%Creset" --stat'
|
||||
alias gluc='git pull upstream $(git_current_branch)'
|
||||
alias glum='git pull upstream $(git_main_branch)'
|
||||
alias gm='git merge'
|
||||
alias gma='git merge --abort'
|
||||
alias gmc='git merge --continue'
|
||||
alias gmff='git merge --ff-only'
|
||||
alias gmom='git merge origin/$(git_main_branch)'
|
||||
alias gms='git merge --squash'
|
||||
alias gmtl='git mergetool --no-prompt'
|
||||
alias gmtlvim='git mergetool --no-prompt --tool=vimdiff'
|
||||
alias gmum='git merge upstream/$(git_main_branch)'
|
||||
alias gp='git push'
|
||||
alias gpd='git push --dry-run'
|
||||
alias gpf='git push --force-with-lease --force-if-includes'
|
||||
alias 'gpf!'='git push --force'
|
||||
alias gpoat='git push origin --all && git push origin --tags'
|
||||
alias gpod='git push origin --delete'
|
||||
alias gpr='git pull --rebase'
|
||||
alias gpra='git pull --rebase --autostash'
|
||||
alias gprav='git pull --rebase --autostash -v'
|
||||
alias gpristine='git reset --hard && git clean --force -dfx'
|
||||
alias gprom='git pull --rebase origin $(git_main_branch)'
|
||||
alias gpromi='git pull --rebase=interactive origin $(git_main_branch)'
|
||||
alias gprum='git pull --rebase upstream $(git_main_branch)'
|
||||
alias gprumi='git pull --rebase=interactive upstream $(git_main_branch)'
|
||||
alias gprv='git pull --rebase -v'
|
||||
alias gpsup='git push --set-upstream origin $(git_current_branch)'
|
||||
alias gpsupf='git push --set-upstream origin $(git_current_branch) --force-with-lease --force-if-includes'
|
||||
alias gpu='git push upstream'
|
||||
alias gpv='git push --verbose'
|
||||
alias gr='git remote'
|
||||
alias gra='git remote add'
|
||||
alias grb='git rebase'
|
||||
alias grba='git rebase --abort'
|
||||
alias grbc='git rebase --continue'
|
||||
alias grbd='git rebase $(git_develop_branch)'
|
||||
alias grbi='git rebase --interactive'
|
||||
alias grbm='git rebase $(git_main_branch)'
|
||||
alias grbo='git rebase --onto'
|
||||
alias grbom='git rebase origin/$(git_main_branch)'
|
||||
alias grbs='git rebase --skip'
|
||||
alias grbum='git rebase upstream/$(git_main_branch)'
|
||||
alias grev='git revert'
|
||||
alias greva='git revert --abort'
|
||||
alias grevc='git revert --continue'
|
||||
alias grf='git reflog'
|
||||
alias grh='git reset'
|
||||
alias grhh='git reset --hard'
|
||||
alias grhk='git reset --keep'
|
||||
alias grhs='git reset --soft'
|
||||
alias grm='git rm'
|
||||
alias grmc='git rm --cached'
|
||||
alias grmv='git remote rename'
|
||||
alias groh='git reset origin/$(git_current_branch) --hard'
|
||||
alias grrm='git remote remove'
|
||||
alias grs='git restore'
|
||||
alias grset='git remote set-url'
|
||||
alias grss='git restore --source'
|
||||
alias grst='git restore --staged'
|
||||
alias gru='git reset --'
|
||||
alias grup='git remote update'
|
||||
alias grv='git remote --verbose'
|
||||
alias gsb='git status --short --branch'
|
||||
alias gsd='git svn dcommit'
|
||||
alias gsh='git show'
|
||||
alias gsi='git submodule init'
|
||||
alias gsps='git show --pretty=short --show-signature'
|
||||
alias gsr='git svn rebase'
|
||||
alias gss='git status --short'
|
||||
alias gst='git status'
|
||||
alias gsta='git stash push'
|
||||
alias gstaa='git stash apply'
|
||||
alias gstall='git stash --all'
|
||||
alias gstc='git stash clear'
|
||||
alias gstd='git stash drop'
|
||||
alias gstl='git stash list'
|
||||
alias gstp='git stash pop'
|
||||
alias gsts='git stash show --patch'
|
||||
alias gsu='git submodule update'
|
||||
alias gsw='git switch'
|
||||
alias gswc='git switch --create'
|
||||
alias gswd='git switch $(git_develop_branch)'
|
||||
alias gswm='git switch $(git_main_branch)'
|
||||
alias gta='git tag --annotate'
|
||||
alias gts='git tag --sign'
|
||||
alias gtv='git tag | sort -V'
|
||||
alias gunignore='git update-index --no-assume-unchanged'
|
||||
alias gunwip='git rev-list --max-count=1 --format="%s" HEAD | grep -q "\--wip--" && git reset HEAD~1'
|
||||
alias gwch='git whatchanged -p --abbrev-commit --pretty=medium'
|
||||
alias gwip='git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify --no-gpg-sign --message "--wip-- [skip ci]"'
|
||||
alias gwipe='git reset --hard && git clean --force -df'
|
||||
alias gwt='git worktree'
|
||||
alias gwta='git worktree add'
|
||||
alias gwtls='git worktree list'
|
||||
alias gwtmv='git worktree move'
|
||||
alias gwtrm='git worktree remove'
|
26
.config/zsh/.zshrc.d/ssh-agent.zsh
Normal file
26
.config/zsh/.zshrc.d/ssh-agent.zsh
Normal file
@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env zsh
|
||||
|
||||
# Automatic connection
|
||||
mkdir -p "${HOME}/etc/ssh";
|
||||
function ssh-procure-launch-agent {
|
||||
eval `ssh-agent -s -a ~/etc/ssh/ssh-agent-socket`;
|
||||
ssh-add;
|
||||
}
|
||||
|
||||
if [ ! $SSH_AGENT_PID ]; then
|
||||
if [ -e ~/etc/ssh/ssh-agent-socket ] ; then
|
||||
SSH_AGENT_PID=`ps -fC ssh-agent |grep 'etc/ssh/ssh-agent-socket' |sed -r 's/^\S+\s+(\S+).*$/\1/'`;
|
||||
if [[ $SSH_AGENT_PID =~ [0-9]+ ]]; then
|
||||
# in this case the agent has already been launched and we are just attaching to it.
|
||||
##++ It should check that this pid is actually active & belongs to an ssh instance
|
||||
export SSH_AGENT_PID;
|
||||
SSH_AUTH_SOCK=~/etc/ssh/ssh-agent-socket; export SSH_AUTH_SOCK;
|
||||
else
|
||||
# in this case there is no agent running, so the socket file is left over from a graceless agent termination.
|
||||
rm ~/etc/ssh/ssh-agent-socket;
|
||||
ssh-procure-launch-agent;
|
||||
fi;
|
||||
else
|
||||
ssh-procure-launch-agent;
|
||||
fi;
|
||||
fi;
|
39
.zshenv
39
.zshenv
@ -1,8 +1,39 @@
|
||||
#!/usr/bin/env zsh
|
||||
#
|
||||
# ENVIRONMENT VARIABLES ONLY
|
||||
|
||||
# Cf. https://wiki.archlinux.org/title/XDG_Base_Directory
|
||||
export XDG_CONFIG_HOME=$HOME/.config
|
||||
|
||||
# Default editor
|
||||
export EDITOR='nvim'
|
||||
|
||||
# ZSH
|
||||
export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
|
||||
export HISTFILE="$ZDOTDIR/.zhistory" # History filepath
|
||||
export HISTSIZE=10000 # Maximum events for internal history
|
||||
export SAVEHIST=10000 # Maximum events in history file
|
||||
|
||||
# PATH
|
||||
typeset -U PATH path
|
||||
path=("$HOME/.local/bin" "$HOME/bin" "/opt/sublime_merge" "$path[@]", "$(go env GOPATH)/bin")
|
||||
export PATH
|
||||
|
||||
# Autocomplètement supplémentaire (Docker)
|
||||
if [ -d "$HOME/.zsh/completion" ] ; then
|
||||
fpath=(~/.zsh/completion $fpath)
|
||||
fi
|
||||
# Language environment
|
||||
export LANG=fr_FR.UTF-8
|
||||
|
||||
# Reading / Browse (manpages, websites, etc.)
|
||||
export PAGER=most
|
||||
export BROWSER=elinks
|
||||
|
||||
# SSH
|
||||
export SSH_ASKPASS=qt4-ssh-askpass
|
||||
|
||||
# Python
|
||||
export PYTHONWARNINGS="ignore::DeprecationWarning"
|
||||
#export FLASK_SKIP_DOTENV=1 ## make problems with poetry and flask applications
|
||||
export PIPENV_QUIET=1 # enlève les courtesy notice
|
||||
|
||||
# k8s
|
||||
export KUBECONFIG=$HOME/kubeconfig
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user