diff --git a/README.md b/README.md index d731711..07c4f75 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,19 @@ zsh Zsh configuration using zgen. +How to use: +- fork +- add branch named as your user +- copy `USER.zsh`, `USER.plugins`, `USER.theme` and `USER.completions` as `${USER}.zsh`, `${USER}.plugins`, `${USER}.theme` and `${USER}.completions`, customize and push +- change {{{zsh_config_repo}}} in {{{zshrc}}} and set it in your current shell +- run: + ``` +$ zsh_config_repo=https://forgejo.audin.me/maudin/zsh.git $ git clone https://github.com/tarjoilija/zgen.git "${HOME}/.zgen" $ source ${HOME}/.zgen/zgen.zsh -$ zgen clone https://forgejo.audin.me/hybris/zsh.git main -$ ln -s ${HOME}/.zgen/https-COLON--SLASH--SLASH-forgejo.audin.me-SLASH-maudin/zsh.git-main/zshrc $HOME/.zshrc +$ zgen clone ${zsh_config_repo:-https://forgejo.audin.me/maudin/zsh.git} ${USER} +$ ln -sf ${HOME}/.zgen/https-COLON--SLASH--SLASH-forgejo.audin.me-SLASH-maudin/zsh.git-${USER}/zshrc $HOME/.zshrc $ zgen reset $ source ${HOME}/.zshrc ``` diff --git a/USER.completions b/USER.completions new file mode 100644 index 0000000..170a034 --- /dev/null +++ b/USER.completions @@ -0,0 +1 @@ +# ZSH custom completions here diff --git a/USER.plugins b/USER.plugins new file mode 100644 index 0000000..b2a1211 --- /dev/null +++ b/USER.plugins @@ -0,0 +1,3 @@ +# Zgen plugins here +zgen oh-my-zsh +zgen oh-my-zsh plugins/colored-man-pages diff --git a/USER.theme b/USER.theme new file mode 100644 index 0000000..f06824f --- /dev/null +++ b/USER.theme @@ -0,0 +1,2 @@ +# ZSH custom theme here +PROMPT='%{${fg_bold[blue]}%}%n%{$reset_color%}%{${fg[blue]}%}@%m $%{$reset_color%} ' diff --git a/USER.zsh b/USER.zsh new file mode 100644 index 0000000..fd9311f --- /dev/null +++ b/USER.zsh @@ -0,0 +1,16 @@ +# bip at command end +function precmd() { + echo -n -e "\a" +} + +# history file +unsetopt share_history +setopt INC_APPEND_HISTORY +setopt HIST_EXPIRE_DUPS_FIRST +HISTSIZE=500000 +SAVEHIST=500000 + +# Fix for compdef, taken from https://github.com/seletskiy/zsh-zgen-compinit-tweak +autoload -Uz compinit && compinit -C +alias compinit='compinit-zgen' +function compinit-zgen() { grep -q ".zgen" <<< "${@}" && \compinit "${@}" } diff --git a/maudin.completions b/maudin.completions deleted file mode 100644 index c808aee..0000000 --- a/maudin.completions +++ /dev/null @@ -1,12 +0,0 @@ -# Bookmarks completion using jump plugin -compctl -K _completemarks j - -# Hostname completion on various ssh commands -function _myssh() {compadd $(ls $INFRA/host)} -compdef _myssh r -compdef _myssh ra -compdef _myssh tramp - -_complete_bt-host() {reply=($(ls $INFRA/host))} -compctl -K _complete_bt-host infra host -compctl -K _complete_bt-host debian-release diff --git a/maudin.plugins b/maudin.plugins deleted file mode 100644 index d38bc8e..0000000 --- a/maudin.plugins +++ /dev/null @@ -1,9 +0,0 @@ -# specify plugins here -zgen oh-my-zsh -zgen oh-my-zsh plugins/colored-man-pages -zgen oh-my-zsh plugins/colorize -zgen oh-my-zsh plugins/extract -zgen oh-my-zsh plugins/git -zgen oh-my-zsh plugins/jump -zgen oh-my-zsh plugins/keychain -zgen oh-my-zsh plugins/rsync diff --git a/maudin.theme b/maudin.theme deleted file mode 100644 index e136129..0000000 --- a/maudin.theme +++ /dev/null @@ -1,7 +0,0 @@ -PROMPT='%{${fg_bold[blue]}%}%n%{$reset_color%}%{${fg[blue]}%}@%m $%{$reset_color%} ' -RPROMPT='%{$fg[white]%}%~$(git_prompt_info)%{$reset_color%}%(?,,%{${fg_bold[red]}%} [%?]%{$reset_color%})' - -ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg_bold[green]%}(" -ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg_bold[green]%})%{$fg_bold[red]%}!%{$reset_color%}" -ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[green]%})" diff --git a/maudin.zsh b/maudin.zsh deleted file mode 100644 index 145d10a..0000000 --- a/maudin.zsh +++ /dev/null @@ -1,58 +0,0 @@ -# keychain -zstyle :omz:plugins:keychain agents gpg,ssh -zstyle :omz:plugins:keychain identities id_rsa id_bearstech D79CA887 -zstyle :omz:plugins:keychain options --quiet - -# bip at command end, ensure correct window title -function precmd() { - echo -n -e "\a" -} - -# history file -unsetopt share_history -setopt INC_APPEND_HISTORY -setopt HIST_EXPIRE_DUPS_FIRST -HISTSIZE=500000 -SAVEHIST=500000 - -# Disable reserved word foreach -disable -r foreach - -# Everyday aliases -bt-alerts() {ssh root@${1:-pidou} monshow | grep -v "none$"} -debian-release() {ssh root@$1 cat /etc/debian_version} -dontknow() {echo -n "¯\\_(ツ)_/¯" | xclip} -e() {emacsclient -n $@ > /dev/null 2>&1} -tramp() {emacsclient -n $(for x in $@; do echo /root@$x:README; done) > /dev/null 2>&1} -j() {if [ $# -eq 0 ]; then marks; else jump $@; fi} -noprompt() {if [ "$PROMPT" != '$ ' ]; then export PROMPT='$ '; export RPROMPT=''; else source ~/.zgen/https-COLON--SLASH--SLASH-gitea.audin.me-SLASH-hybris/zsh-master/hybris.theme; fi} -open_ports() {if [ $# -eq 1 ] && [ $1 = "public" ]; then sudo netstat -tulpen 2> /dev/null | grep "LISTEN" | grep -v "127.0.0.1"; else sudo netstat -tulpen 2> /dev/null | grep "LISTEN"; fi} -r() {if [ $# -gt 0 ]; then for h in $@; do ssh root@$h; done; else sudo su -; fi} -ra() {if [ $# -gt 0 ]; then for h in $@; do ssh -A root@$h; done; else sudo su -; fi} - -# Usefull bindings -bindkey "^[Od" backward-word -bindkey "^[Oc" forward-word - -# Some exports -export DISABLE_AUTO_TITLE=true -export EDITOR=emacsclient -export INFRA=/home/${USER}/dev/bearstech/infra -export LESS=-cex2MRX -export LESSOPEN='|~/.lessfilter %s' -export LOGCHECK=60 -export READNULLCMD=${PAGER:-/usr/bin/pager} -export WATCH=all -export WATCHFMT="%n has %a %l from %M" -export PATH=$HOME/.scripts:$INFRA/bin:$INFRA/service/xen:$PATH - -# Some completion functions -_complete_bt-host() {reply=($(ls $INFRA/host))} -compctl -K _complete_bt-host bt-dom0 -compctl -K _complete_bt-host infra host -compctl -K _complete_bt-host bt-release - -# Fix for compdef, taken from https://github.com/seletskiy/zsh-zgen-compinit-tweak -autoload -Uz compinit && compinit -C -alias compinit='compinit-zgen' -function compinit-zgen() { grep -q ".zgen" <<< "${@}" && \compinit "${@}" }