Переход на менеджер https://github.com/jandamm/zgenom
This commit is contained in:
parent
e9b976f5f2
commit
00bd63ccc6
42
.zshrc
42
.zshrc
@ -1,32 +1,18 @@
|
|||||||
zmodload zsh/zprof
|
|
||||||
|
|
||||||
for S in \
|
for S in \
|
||||||
"$ZDOTDIR/env.start.zsh" \
|
05-start \
|
||||||
"$ZDOTDIR/env.zsh" \
|
15-env \
|
||||||
"$ZDOTDIR/env.user.zsh" \
|
25-history \
|
||||||
\
|
35-options \
|
||||||
"$ZDOTDIR/history.zsh" \
|
45-plugins \
|
||||||
"$ZDOTDIR/history.user.zsh" \
|
55-agents \
|
||||||
\
|
65-prompt \
|
||||||
"$ZDOTDIR/options.zsh" \
|
75-aliases \
|
||||||
"$ZDOTDIR/options.user.zsh" \
|
78-scripts \
|
||||||
\
|
85-compinit \
|
||||||
"$ZDOTDIR/plugins.zsh" \
|
95-finish
|
||||||
"$ZDOTDIR/plugins.user.zsh" \
|
do
|
||||||
\
|
[ -e "$ZDOTDIR/$S.zsh" ] && source "$ZDOTDIR/$S.zsh"
|
||||||
"$ZDOTDIR/agents.zsh" \
|
[ -e "$ZDOTDIR/$S.user.zsh" ] && source "$ZDOTDIR/$S.user.zsh"
|
||||||
"$ZDOTDIR/agents.user.zsh" \
|
|
||||||
\
|
|
||||||
"$ZDOTDIR/prompt.zsh" \
|
|
||||||
"$ZDOTDIR/prompt.user.zsh" \
|
|
||||||
\
|
|
||||||
"$ZDOTDIR/aliases.zsh" \
|
|
||||||
"$ZDOTDIR/aliases.user.zsh" \
|
|
||||||
\
|
|
||||||
"$ZDOTDIR/compinit.zsh" \
|
|
||||||
"$ZDOTDIR/compinit.user.zsh" \
|
|
||||||
;
|
|
||||||
do [ -e "$S" ] && source "$S"
|
|
||||||
done
|
done
|
||||||
|
|
||||||
true
|
true
|
||||||
|
@ -1,21 +1,32 @@
|
|||||||
export XDG_CONFIG_HOME=$HOME/.config
|
export XDG_CONFIG_HOME="$HOME/.config"
|
||||||
export XDG_CACHE_HOME=$HOME/.cache
|
export XDG_CACHE_HOME="$HOME/.cache"
|
||||||
export XDG_DATA_HOME=$HOME/.local/share
|
export XDG_DATA_HOME="$HOME/.local/share"
|
||||||
|
|
||||||
declare -A ZINIT
|
export ZSH_CACHE_DIR="$XDG_CACHE_HOME/zsh"
|
||||||
ZINIT[HOME_DIR]=$XDG_CACHE_HOME/zsh/zinit
|
export ZSH_COMPDUMP="$ZSH_CACHE_DIR/completions/dump"
|
||||||
ZINIT[PLUGINS_DIR]=$XDG_CACHE_HOME/zsh/plugins
|
export ZGEN_SOURCE="$ZSH_CACHE_DIR"
|
||||||
ZINIT[SNIPPETS_DIR]=$XDG_CACHE_HOME/zsh/snippets
|
export ZGEN_SOURCE_BIN="$ZSH_CACHE_DIR/plugins"
|
||||||
ZINIT[ZCOMPDUMP_PATH]=$XDG_CACHE_HOME/zsh/zcompdump
|
export ZGEN_DIR="$ZSH_CACHE_DIR/zgenom"
|
||||||
|
ZPFX=$ZGEN_DIR/polaris
|
||||||
|
|
||||||
ZPFX=$XDG_CACHE_HOME/zsh/polaris
|
DISABLE_AUTO_UPDATE=true
|
||||||
|
|
||||||
|
# PATH
|
||||||
|
for P in \
|
||||||
|
"$HOME/.vim/plugged/vim-superman/bin" \
|
||||||
|
"$HOME/bin" \
|
||||||
|
"$HOME/.local/bin"
|
||||||
|
do
|
||||||
|
if [[ -d "${P}" ]]; then
|
||||||
|
export PATH="${P}:${PATH}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
export PATH=$HOME/bin:$HOME/.local/bin:$PATH
|
|
||||||
# Удалить дубликаты в PATH
|
# Удалить дубликаты в PATH
|
||||||
typeset -U PATH
|
typeset -U PATH
|
||||||
|
|
||||||
export GNUPGHOME=$HOME/.config/gnupg
|
export GNUPGHOME="$XDG_CONFIG_HOME/gnupg"
|
||||||
export SVDIR=$HOME/sv
|
export SVDIR="$HOME/sv"
|
||||||
|
|
||||||
# Настройка uncrustify
|
# Настройка uncrustify
|
||||||
UNCRUSTIFY_CONFIG="${XDG_CONFIG_HOME}/uncrustify/default.cfg"
|
UNCRUSTIFY_CONFIG="${XDG_CONFIG_HOME}/uncrustify/default.cfg"
|
@ -1,9 +1,9 @@
|
|||||||
HISTFILE="$HOME/.cache/zsh/history"
|
HISTFILE="$ZSH_CACHE_DIR/history"
|
||||||
HISTSIZE=10000000
|
HISTSIZE=10000000
|
||||||
SAVEHIST=10000000
|
SAVEHIST=10000000
|
||||||
HISTDUP=erase
|
HISTDUP=erase
|
||||||
|
|
||||||
[ ! -d "$HOME/.cache/zsh" ] && mkdir -p "$HOME/.cache/zsh"
|
[ ! -d "$ZSH_CACHE_DIR" ] && mkdir -p "$ZSH_CACHE_DIR"
|
||||||
|
|
||||||
setopt BANG_HIST # Treat the '!' character specially during expansion.
|
setopt BANG_HIST # Treat the '!' character specially during expansion.
|
||||||
setopt EXTENDED_HISTORY # Write the history file in the ":start:elapsed;command" format.
|
setopt EXTENDED_HISTORY # Write the history file in the ":start:elapsed;command" format.
|
||||||
@ -19,4 +19,3 @@ setopt HIST_REDUCE_BLANKS # Remove superfluous blanks before recording en
|
|||||||
setopt HIST_VERIFY # Don't execute immediately upon history expansion.
|
setopt HIST_VERIFY # Don't execute immediately upon history expansion.
|
||||||
setopt HIST_BEEP # Beep when accessing nonexistent history.
|
setopt HIST_BEEP # Beep when accessing nonexistent history.
|
||||||
|
|
||||||
|
|
@ -2,15 +2,22 @@
|
|||||||
# apt-get install autojump
|
# apt-get install autojump
|
||||||
[[ -s /usr/share/autojump/autojump.sh ]] && source /usr/share/autojump/autojump.sh
|
[[ -s /usr/share/autojump/autojump.sh ]] && source /usr/share/autojump/autojump.sh
|
||||||
|
|
||||||
|
setopt AUTO_PUSHD # Push the current directory visited on the stack.
|
||||||
|
setopt PUSHD_IGNORE_DUPS # Do not store duplicates in the stack.
|
||||||
|
setopt PUSHD_SILENT # Do not print the directory stack after pushd or popd.
|
||||||
|
|
||||||
autoload -Uz allopt zed zmv zcalc colors
|
autoload -Uz allopt zed zmv zcalc colors
|
||||||
colors
|
colors
|
||||||
|
|
||||||
|
zmodload zsh/terminfo
|
||||||
|
|
||||||
autoload -Uz edit-command-line
|
autoload -Uz edit-command-line
|
||||||
zle -N edit-command-line
|
zle -N edit-command-line
|
||||||
#bindkey -M vicmd v edit-command-line
|
bindkey -M vicmd v edit-command-line
|
||||||
|
|
||||||
autoload -Uz select-word-style
|
autoload -Uz select-word-style
|
||||||
select-word-style shell
|
select-word-style shell
|
||||||
|
|
||||||
autoload -Uz url-quote-magic
|
autoload -Uz url-quote-magic
|
||||||
zle -N self-insert url-quote-magic
|
zle -N self-insert url-quote-magic
|
||||||
|
|
66
45-plugins.zsh
Normal file
66
45-plugins.zsh
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
# Менеджер плагинов zgenom
|
||||||
|
if [ ! -e "$ZGEN_DIR/zgenom.zsh" ]; then
|
||||||
|
git clone https://github.com/jandamm/zgenom "$ZGEN_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
source "$ZGEN_DIR/zgenom.zsh"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Ohmyzsh
|
||||||
|
#
|
||||||
|
zgenom ohmyzsh
|
||||||
|
|
||||||
|
# Плагины
|
||||||
|
zgenom load willghatch/zsh-saneopt
|
||||||
|
zgenom load mafredri/zsh-async
|
||||||
|
zgenom load djui/alias-tips
|
||||||
|
|
||||||
|
zgenom load rupa/z
|
||||||
|
if [[ "$DISPLAY" != '' ]] && command -v xdotool > /dev/null 2>&1 && command -v wmctrl > /dev/null 2>&1; then
|
||||||
|
zgenom load marzocchi/zsh-notify
|
||||||
|
zstyle ':notify:*' expire-time 5000
|
||||||
|
zstyle ':notify:*' command-complete-timeout 20
|
||||||
|
zstyle ':notify:*' enable-on-ssh yes
|
||||||
|
fi
|
||||||
|
if command -v peco > /dev/null 2>&1; then
|
||||||
|
zgenom load jimeh/zsh-peco-history
|
||||||
|
fi
|
||||||
|
|
||||||
|
zgenom ohmyzsh plugins/command-not-found
|
||||||
|
zgenom ohmyzsh plugins/systemadmin
|
||||||
|
zgenom ohmyzsh plugins/common-aliases
|
||||||
|
zgenom ohmyzsh plugins/debian
|
||||||
|
if command -v fzf > /dev/null 2>&1; then
|
||||||
|
export DISABLE_FZF_KEY_BINDINGS=true
|
||||||
|
zgenom ohmyzsh plugins/fzf
|
||||||
|
# fzf
|
||||||
|
[ -e /usr/share/doc/fzf/examples/key-bindings.zsh ] && source /usr/share/doc/fzf/examples/key-bindings.zsh
|
||||||
|
[ -e /usr/share/doc/fzf/examples/completion.zsh ] && source /usr/share/doc/fzf/examples/completion.zsh
|
||||||
|
fi
|
||||||
|
if command -v git > /dev/null 2>&1; then
|
||||||
|
zgenom ohmyzsh plugins/git
|
||||||
|
zgenom ohmyzsh plugins/git-auto-fetch
|
||||||
|
zgenom ohmyzsh plugins/git-extras
|
||||||
|
zgenom ohmyzsh plugins/github
|
||||||
|
zgenom load paulirish/git-open
|
||||||
|
fi
|
||||||
|
if command -v psql > /dev/null 2>&1; then
|
||||||
|
zgenom ohmyzsh plugins/postgres
|
||||||
|
fi
|
||||||
|
if command -v sudo > /dev/null 2>&1; then
|
||||||
|
zgenom ohmyzsh plugins/sudo
|
||||||
|
fi
|
||||||
|
if command -v systemctl > /dev/null 2>&1; then
|
||||||
|
zgenom ohmyzsh plugins/systemd
|
||||||
|
fi
|
||||||
|
if command -v vim > /dev/null 2>&1; then
|
||||||
|
zgenom ohmyzsh plugins/vim-interaction
|
||||||
|
fi
|
||||||
|
zgenom ohmyzsh plugins/web-search
|
||||||
|
|
||||||
|
zgenom ohmyzsh plugins/tmux
|
||||||
|
zstyle ':prezto:module:tmux:auto-start' local 'no'
|
||||||
|
zstyle ':prezto:module:tmux:auto-start' remote 'yes'
|
||||||
|
zstyle ':prezto:module:tmux:session' name "$(hostname)"
|
||||||
|
zgenom load laggardkernel/zsh-tmux
|
||||||
|
|
@ -6,13 +6,12 @@
|
|||||||
# zstyle :omz:plugins:ssh-agent agent-forwarding on
|
# zstyle :omz:plugins:ssh-agent agent-forwarding on
|
||||||
# zstyle :omz:plugins:ssh-agent identities id_rsa
|
# zstyle :omz:plugins:ssh-agent identities id_rsa
|
||||||
# zstyle :omz:plugins:ssh-agent lifetime 10h
|
# zstyle :omz:plugins:ssh-agent lifetime 10h
|
||||||
# zinit snippet OMZP::ssh-agent
|
# zgenom ohmyzsh plugins/ssh-agent
|
||||||
|
|
||||||
##
|
##
|
||||||
# GPG agent
|
# GPG agent
|
||||||
##
|
##
|
||||||
# zinit ice wait'1' lucid
|
# zgenom ohmyzsh plugins/gpg-agent
|
||||||
# zinit light laggardkernel/zsh-gpg-agent
|
|
||||||
|
|
||||||
##
|
##
|
||||||
# Keychain
|
# Keychain
|
||||||
@ -20,5 +19,5 @@
|
|||||||
# zstyle :omz:plugins:keychain identities id_rsa 01234567
|
# zstyle :omz:plugins:keychain identities id_rsa 01234567
|
||||||
# zstyle :omz:plugins:keychain options --quiet --inherit local-once --noask --nocolor --quick
|
# zstyle :omz:plugins:keychain options --quiet --inherit local-once --noask --nocolor --quick
|
||||||
# zstyle :omz:plugins:keychain agents gpg,ssh
|
# zstyle :omz:plugins:keychain agents gpg,ssh
|
||||||
# zinit snippet OMZP::keychain
|
# zgenom ohmyzsh plugins/keychain
|
||||||
|
|
@ -29,7 +29,7 @@ fi
|
|||||||
|
|
||||||
autoload is-at-least
|
autoload is-at-least
|
||||||
if is-at-least "5.2" "$ZSH_VERSION"; then
|
if is-at-least "5.2" "$ZSH_VERSION"; then
|
||||||
zinit load "denysdovhan/spaceship-prompt"
|
zgenom load "denysdovhan/spaceship-prompt"
|
||||||
else
|
else
|
||||||
zinit load "nojhan/liquidprompt"
|
zgenom load "nojhan/liquidprompt"
|
||||||
fi
|
fi
|
@ -22,14 +22,6 @@ aptf() {
|
|||||||
apt-cache search $1 | grep $2
|
apt-cache search $1 | grep $2
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
aptl() {
|
|
||||||
[ -z $1 ] && return 1
|
|
||||||
sudo apt-get purge linux-modules-extra-"$1".* linux-modules-"$1".* linux-tools-"$1".* \
|
|
||||||
linux-image-"$1".* linux-image-unsigned-"$1".* linux-headers-"$1".*
|
|
||||||
}
|
|
||||||
|
|
||||||
# VIM
|
|
||||||
alias gvim='gvim --remote-silent'
|
|
||||||
|
|
||||||
# Youtube
|
# Youtube
|
||||||
YDL="$HOME/bin/youtube-dl"
|
YDL="$HOME/bin/youtube-dl"
|
||||||
@ -49,8 +41,6 @@ alias gur="git pull --recurse-submodules"
|
|||||||
alias gsui="git submodule update --recursive --init"
|
alias gsui="git submodule update --recursive --init"
|
||||||
alias gsur="git submodule update --recursive --init --remote"
|
alias gsur="git submodule update --recursive --init --remote"
|
||||||
|
|
||||||
# Фильтры
|
# Фильтры (H,T,G,L определены в common-aliases)
|
||||||
alias -g G="| grep"
|
|
||||||
alias -g L="| less"
|
|
||||||
alias -g NN='&>/dev/null'
|
alias -g NN='&>/dev/null'
|
||||||
|
|
57
78-scripts.zsh
Normal file
57
78-scripts.zsh
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
ch() {
|
||||||
|
curl -s "https://cheat.sh/$1" | less
|
||||||
|
}
|
||||||
|
|
||||||
|
exf() {
|
||||||
|
case "$1" in
|
||||||
|
*.tar.bz2) tar xjf "$1" ;;
|
||||||
|
*.tar.gz) tar xzf "$1" ;;
|
||||||
|
*.tar.xz) tar xJf "$1" ;;
|
||||||
|
*.tbz2) tar xjf "$1" ;;
|
||||||
|
*.tgz) tar xzf "$1" ;;
|
||||||
|
*.tar) tar xf "$1" ;;
|
||||||
|
*.zip) unzip "$1" ;;
|
||||||
|
*.7z) 7z x "$1" ;;
|
||||||
|
*.iso) 7z x "$1" ;;
|
||||||
|
*.rar) unrar x "$1" ;;
|
||||||
|
*) echo "'$1' cannot be extracted" ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
exfl() {
|
||||||
|
for F in "$@"
|
||||||
|
do
|
||||||
|
if [ -f "$F" ]; then
|
||||||
|
exf "$F"
|
||||||
|
else
|
||||||
|
echo "'$F' is not a valid file"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
exd() {
|
||||||
|
case "$1" in
|
||||||
|
*.tar.bz2) b=${1%.tar.bz2}; mkdir -p "$b">/dev/null; tar xjf "$1" -C "$b" ;;
|
||||||
|
*.tar.gz) b=${1%.tar.gz}; mkdir -p "$b">/dev/null; tar xzf "$1" -C "$b" ;;
|
||||||
|
*.tar.xz) b=${1%.tar.xz}; mkdir -p "$b">/dev/null; tar xJf "$1" -C "$b" ;;
|
||||||
|
*.tbz2) b=${1%.tbz2}; mkdir -p "$b">/dev/null; tar xjf "$1" -C "$b" ;;
|
||||||
|
*.tgz) b=${1%.tgz}; mkdir -p "$b">/dev/null; tar xzf "$1" -C "$b" ;;
|
||||||
|
*.tar) b=${1%.tar}; mkdir -p "$b">/dev/null; tar xf "$1" -C "$b" ;;
|
||||||
|
*.zip) b=${1%.zip}; unzip "$1" -d "$b" ;;
|
||||||
|
*.7z) b=${1%.7z}; 7z x -o"$b" "$1" ;;
|
||||||
|
*.iso) b=${1%.iso}; 7z x -o"$b" "$1" ;;
|
||||||
|
*.rar) b=${1%.rar}; rar x "$1" "$b" ;;
|
||||||
|
*) echo "'$1' cannot be extracted" ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
exdl() {
|
||||||
|
for F in "$@"
|
||||||
|
do
|
||||||
|
if [ -f "$F" ]; then
|
||||||
|
exd "$F"
|
||||||
|
else
|
||||||
|
echo "'$F' is not a valid file"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
42
85-compinit.zsh
Normal file
42
85-compinit.zsh
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
typeset -i _compinit_updated_at=$(date +'%j' -r $ZSH_COMPDUMP 2>/dev/null || stat -f '%Sm' -t '%j' $ZSH_COMPDUMP 2>/dev/null)
|
||||||
|
ZGEN_COMPINIT_FLAGS="-i"
|
||||||
|
if [ $(date +'%j') = $_compinit_updated_at ]; then
|
||||||
|
ZGEN_COMPINIT_FLAGS+=" -C"
|
||||||
|
fi
|
||||||
|
unset _compinit_updated_at
|
||||||
|
|
||||||
|
zmodload -i zsh/complist
|
||||||
|
autoload -Uz compinit && eval "compinit $ZGEN_COMPINIT_FLAGS -d $ZSH_COMPDUMP"
|
||||||
|
|
||||||
|
#zgenom load marlonrichert/zsh-autocomplete
|
||||||
|
zgenom load zsh-users/zsh-autosuggestions
|
||||||
|
|
||||||
|
# Speed up autocomplete, force prefix mapping
|
||||||
|
zstyle ':completion:*' accept-exact '*(N)'
|
||||||
|
zstyle ':completion:*' use-cache on
|
||||||
|
zstyle ':completion:*' cache-path $ZSH_CACHE_DIR/completion
|
||||||
|
|
||||||
|
zstyle ':completion:*:processes' command 'ps -ax'
|
||||||
|
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;32'
|
||||||
|
zstyle ':completion:*:*:kill:*' menu yes select
|
||||||
|
zstyle ':completion:*:*:kill:*' force-list always
|
||||||
|
zstyle ':completion:*:*:kill:*' insert-ids single
|
||||||
|
|
||||||
|
zstyle ':completion:*:processes-names' command 'ps -e -o comm='
|
||||||
|
zstyle ':completion:*:*:killall:*' menu yes select
|
||||||
|
zstyle ':completion:*:killall:*' force-list always
|
||||||
|
|
||||||
|
# SSH/SCP/RSYNC
|
||||||
|
zstyle ':completion:*:(ssh|scp|rsync):*' hosts off
|
||||||
|
zstyle ':completion:*:(scp|rsync):*' tag-order 'hosts:-host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
|
||||||
|
zstyle ':completion:*:(scp|rsync):*' group-order users files all-files hosts-domain hosts-host hosts-ipaddr
|
||||||
|
zstyle ':completion:*:ssh:*' tag-order users 'hosts:-host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
|
||||||
|
zstyle ':completion:*:ssh:*' group-order hosts-domain hosts-host users hosts-ipaddr
|
||||||
|
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-host' ignored-patterns '*.*' loopback localhost
|
||||||
|
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^*.*' '*@*'
|
||||||
|
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-ipaddr' ignored-patterns '^<->.<->.<->.<->' '127.0.0.<->'
|
||||||
|
|
||||||
|
# Вызов в этом месте и в таком порядке
|
||||||
|
zgenom load zsh-users/zsh-syntax-highlighting
|
||||||
|
zgenom load zsh-users/zsh-history-substring-search
|
||||||
|
|
3
95-finish.zsh
Normal file
3
95-finish.zsh
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#zgenom save 2>/dev/null
|
||||||
|
#zgenom compile $ZDOTDIR
|
||||||
|
|
19
README.md
19
README.md
@ -9,7 +9,7 @@ sudo apt-get install zsh
|
|||||||
Установка желательных пакетов:
|
Установка желательных пакетов:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo apt-get install keychain peco fzf wmctrl xdotool autojump git ssh-askpass
|
sudo apt-get install keychain peco fzf wmctrl xdotool autojump
|
||||||
```
|
```
|
||||||
|
|
||||||
Клонирование репозитория в каталог `~/.config/zsh`:
|
Клонирование репозитория в каталог `~/.config/zsh`:
|
||||||
@ -30,7 +30,7 @@ sudo ${EDITOR:-mcedit} /etc/zsh/zshenv
|
|||||||
и добавить строку
|
и добавить строку
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
export ZDOTDIR=$HOME/.config/zsh
|
[[ -z "$ZDOTDIR" ]] && export ZDOTDIR=$HOME/.config/zsh
|
||||||
```
|
```
|
||||||
|
|
||||||
Установить интерпретатор Zsh по умолчанию для пользователя `username`.
|
Установить интерпретатор Zsh по умолчанию для пользователя `username`.
|
||||||
@ -45,7 +45,7 @@ sudo usermod -s /usr/bin/zsh username
|
|||||||
Для любого из вариантов следует скопировать шаблонный файл для настроек:
|
Для любого из вариантов следует скопировать шаблонный файл для настроек:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
cp ~/.config/zsh/agents.zsh ~/.config/zsh/agents.user.zsh
|
cp ~/.config/zsh/55-agents.zsh ~/.config/zsh/55-agents.user.zsh
|
||||||
```
|
```
|
||||||
|
|
||||||
## Настройка GPG агента
|
## Настройка GPG агента
|
||||||
@ -53,8 +53,7 @@ cp ~/.config/zsh/agents.zsh ~/.config/zsh/agents.user.zsh
|
|||||||
Раскомментировать в файле ` ~/.config/zsh/agents.user.zsh` строки:
|
Раскомментировать в файле ` ~/.config/zsh/agents.user.zsh` строки:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
# zinit ice wait'1' lucid
|
# zgenom ohmyzsh plugins/gpg-agent
|
||||||
# zinit light laggardkernel/zsh-gpg-agent
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Пример файла настройки GPG агента `~/.config/gnupg/gpg-agent.conf`:
|
Пример файла настройки GPG агента `~/.config/gnupg/gpg-agent.conf`:
|
||||||
@ -81,7 +80,7 @@ pinentry-program /usr/bin/pinentry-qt
|
|||||||
# zstyle :omz:plugins:ssh-agent agent-forwarding on
|
# zstyle :omz:plugins:ssh-agent agent-forwarding on
|
||||||
# zstyle :omz:plugins:ssh-agent identities id_rsa
|
# zstyle :omz:plugins:ssh-agent identities id_rsa
|
||||||
# zstyle :omz:plugins:ssh-agent lifetime 10h
|
# zstyle :omz:plugins:ssh-agent lifetime 10h
|
||||||
# zinit snippet OMZP::ssh-agent
|
# zgenom ohmyzsh plugins/ssh-agent
|
||||||
```
|
```
|
||||||
|
|
||||||
Добавить в конец файла `~/.ssh/config` правило для разрешения агенту сохранять ключи:
|
Добавить в конец файла `~/.ssh/config` правило для разрешения агенту сохранять ключи:
|
||||||
@ -105,7 +104,7 @@ Host *
|
|||||||
# zstyle :omz:plugins:keychain identities id_rsa 01234567
|
# zstyle :omz:plugins:keychain identities id_rsa 01234567
|
||||||
# zstyle :omz:plugins:keychain options --quiet --inherit local-once --noask --nocolor --quick
|
# zstyle :omz:plugins:keychain options --quiet --inherit local-once --noask --nocolor --quick
|
||||||
# zstyle :omz:plugins:keychain agents gpg,ssh
|
# zstyle :omz:plugins:keychain agents gpg,ssh
|
||||||
# zinit snippet OMZP::keychain
|
# zgenom ohmyzsh plugins/keychain
|
||||||
```
|
```
|
||||||
|
|
||||||
Отредактировать файлы настроек для агента GPG и SSH, как это описано в разделах выше.
|
Отредактировать файлы настроек для агента GPG и SSH, как это описано в разделах выше.
|
||||||
@ -114,7 +113,7 @@ Host *
|
|||||||
## Инициализация
|
## Инициализация
|
||||||
|
|
||||||
После редактирования файлов настройки запустить `zsh`, в результате чего будет
|
После редактирования файлов настройки запустить `zsh`, в результате чего будет
|
||||||
загружен менеджер пакетов `zinit` и необходимые плагины.
|
загружен менеджер пакетов `zgenom` и необходимые плагины.
|
||||||
|
|
||||||
|
|
||||||
## Обновление
|
## Обновление
|
||||||
@ -122,11 +121,11 @@ Host *
|
|||||||
Обновление менеджера пакетов:
|
Обновление менеджера пакетов:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zinit self-update
|
zgenom selfupdate
|
||||||
````
|
````
|
||||||
|
|
||||||
Обновление плагинов:
|
Обновление плагинов:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
zinit update --parallel
|
zgenom update
|
||||||
```
|
```
|
||||||
|
27
compinit.zsh
27
compinit.zsh
@ -1,27 +0,0 @@
|
|||||||
typeset -i _compinit_updated_at=$(date +'%j' -r $ZINIT[ZCOMPDUMP_PATH] 2>/dev/null || stat -f '%Sm' -t '%j' $ZINIT[ZCOMPDUMP_PATH] 2>/dev/null)
|
|
||||||
if [ $(date +'%j') != $_compinit_updated_at ]; then
|
|
||||||
ZINIT[COMPINIT_OPTS]="-i"
|
|
||||||
else
|
|
||||||
ZINIT[COMPINIT_OPTS]="-C -i"
|
|
||||||
fi
|
|
||||||
unset _compinit_updated_at
|
|
||||||
|
|
||||||
zinit wait lucid for \
|
|
||||||
atinit"zpcompinit; zpcdreplay" \
|
|
||||||
zdharma/fast-syntax-highlighting \
|
|
||||||
atload"!_zsh_autosuggest_start" \
|
|
||||||
zsh-users/zsh-autosuggestions \
|
|
||||||
blockf \
|
|
||||||
zsh-users/zsh-completions
|
|
||||||
|
|
||||||
zmodload -i zsh/complist
|
|
||||||
|
|
||||||
zstyle ':completion:*:processes' command 'ps -ax'
|
|
||||||
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;32'
|
|
||||||
zstyle ':completion:*:*:kill:*' menu yes select
|
|
||||||
zstyle ':completion:*:kill:*' force-list always
|
|
||||||
|
|
||||||
zstyle ':completion:*:processes-names' command 'ps -e -o comm='
|
|
||||||
zstyle ':completion:*:*:killall:*' menu yes select
|
|
||||||
zstyle ':completion:*:killall:*' force-list always
|
|
||||||
|
|
71
plugins.zsh
71
plugins.zsh
@ -1,71 +0,0 @@
|
|||||||
# Менеджер плагинов zinit
|
|
||||||
if [ ! -d $ZINIT[HOME_DIR] ]; then
|
|
||||||
git clone https://github.com/zdharma/zinit $ZINIT[HOME_DIR]
|
|
||||||
zcompile $ZINIT[HOME_DIR]/zinit.zsh
|
|
||||||
fi
|
|
||||||
|
|
||||||
source $ZINIT[HOME_DIR]/zinit.zsh
|
|
||||||
autoload -Uz _zinit
|
|
||||||
(( ${+_comps} )) && _comps[zinit]=_zinit
|
|
||||||
|
|
||||||
# Плагины
|
|
||||||
zinit load willghatch/zsh-saneopt
|
|
||||||
zinit load mafredri/zsh-async
|
|
||||||
zinit load zsh-users/zsh-history-substring-search
|
|
||||||
|
|
||||||
zinit load rupa/z
|
|
||||||
if [[ "$DISPLAY" != '' ]] && command -v xdotool > /dev/null 2>&1 && command -v wmctrl > /dev/null 2>&1; then
|
|
||||||
zinit load marzocchi/zsh-notify
|
|
||||||
zstyle ':notify:*' expire-time 5000
|
|
||||||
zstyle ':notify:*' command-complete-timeout 20
|
|
||||||
zstyle ':notify:*' enable-on-ssh yes
|
|
||||||
zstyle ':notify:*' always-check-active-window yes
|
|
||||||
fi
|
|
||||||
if command -v peco > /dev/null 2>&1; then
|
|
||||||
zinit load jimeh/zsh-peco-history
|
|
||||||
fi
|
|
||||||
|
|
||||||
zinit snippet OMZP::command-not-found
|
|
||||||
zinit snippet OMZP::common-aliases
|
|
||||||
zinit snippet OMZP::debian
|
|
||||||
if command -v fzf > /dev/null 2>&1; then
|
|
||||||
export DISABLE_FZF_KEY_BINDINGS=true
|
|
||||||
zinit snippet OMZP::fzf
|
|
||||||
# fzf
|
|
||||||
if [ -e /usr/share/doc/fzf/examples/key-bindings.zsh ]; then
|
|
||||||
. /usr/share/doc/fzf/examples/key-bindings.zsh
|
|
||||||
fi
|
|
||||||
if [ -e /usr/share/doc/fzf/examples/completion.zsh ]; then
|
|
||||||
. /usr/share/doc/fzf/examples/completion.zsh
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if command -v git > /dev/null 2>&1; then
|
|
||||||
zinit snippet OMZP::git
|
|
||||||
zinit load paulirish/git-open
|
|
||||||
zinit lucid wait'2' for \
|
|
||||||
as"program" pick"$ZPFX/bin/git-*" \
|
|
||||||
src"etc/git-extras-completion.zsh" make"PREFIX=$ZPFX" tj/git-extras \
|
|
||||||
as"program" make"PREFIX=$ZPFX install" Fakerr/git-recall \
|
|
||||||
as"program" load davidosomething/git-my
|
|
||||||
fi
|
|
||||||
if command -v psql > /dev/null 2>&1; then
|
|
||||||
zinit snippet OMZP::postgres
|
|
||||||
fi
|
|
||||||
if command -v sudo > /dev/null 2>&1; then
|
|
||||||
zinit snippet OMZP::sudo
|
|
||||||
fi
|
|
||||||
if command -v systemctl > /dev/null 2>&1; then
|
|
||||||
zinit snippet OMZP::systemd
|
|
||||||
fi
|
|
||||||
if command -v vim > /dev/null 2>&1; then
|
|
||||||
zinit snippet OMZP::vim-interaction
|
|
||||||
fi
|
|
||||||
zinit snippet OMZP::web-search
|
|
||||||
|
|
||||||
zinit load djui/alias-tips
|
|
||||||
|
|
||||||
zstyle ':prezto:module:tmux:auto-start' local 'no'
|
|
||||||
zstyle ':prezto:module:tmux:auto-start' remote 'no'
|
|
||||||
zstyle ':prezto:module:tmux:session' name "$(hostname)"
|
|
||||||
zinit snippet PZTM::tmux
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user