1
0
Fork 0

even more generic

This commit is contained in:
Maurice Audin 2024-12-10 14:54:17 +01:00
parent 2ec1534e42
commit c31f8d2e4f
9 changed files with 32 additions and 88 deletions

View file

@ -3,11 +3,19 @@ zsh
Zsh configuration using zgen. 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" $ git clone https://github.com/tarjoilija/zgen.git "${HOME}/.zgen"
$ source ${HOME}/.zgen/zgen.zsh $ source ${HOME}/.zgen/zgen.zsh
$ zgen clone https://forgejo.audin.me/hybris/zsh.git main $ zgen clone ${zsh_config_repo:-https://forgejo.audin.me/maudin/zsh.git} ${USER}
$ ln -s ${HOME}/.zgen/https-COLON--SLASH--SLASH-forgejo.audin.me-SLASH-maudin/zsh.git-main/zshrc $HOME/.zshrc $ ln -sf ${HOME}/.zgen/https-COLON--SLASH--SLASH-forgejo.audin.me-SLASH-maudin/zsh.git-${USER}/zshrc $HOME/.zshrc
$ zgen reset $ zgen reset
$ source ${HOME}/.zshrc $ source ${HOME}/.zshrc
``` ```

1
USER.completions Normal file
View file

@ -0,0 +1 @@
# ZSH custom completions here

3
USER.plugins Normal file
View file

@ -0,0 +1,3 @@
# Zgen plugins here
zgen oh-my-zsh
zgen oh-my-zsh plugins/colored-man-pages

2
USER.theme Normal file
View file

@ -0,0 +1,2 @@
# ZSH custom theme here
PROMPT='%{${fg_bold[blue]}%}%n%{$reset_color%}%{${fg[blue]}%}@%m $%{$reset_color%} '

16
USER.zsh Normal file
View file

@ -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 "${@}" }

View file

@ -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

View file

@ -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

View file

@ -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]%})"

View file

@ -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 "${@}" }