zsh/README.md

132 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Установка
Установка необходимых пакетов:
```sh
sudo apt-get install zsh
```
Установка желательных пакетов:
```sh
sudo apt-get install keychain peco fzf wmctrl xdotool autojump
```
Клонирование репозитория в каталог `~/.config/zsh`:
```sh
git clone https://git.246060.ru/f1x1t/zshrc ~/.config/zsh
```
# Базовая настройка
С правами суперпользователя открыть файл `/etc/zsh/zshenv`
в редакторе командой
```sh
sudo ${EDITOR:-mcedit} /etc/zsh/zshenv
```
и добавить строку
```sh
[[ -z "$ZDOTDIR" ]] && export ZDOTDIR=$HOME/.config/zsh
```
Установить интерпретатор Zsh по умолчанию для пользователя `username`.
```sh
sudo usermod -s /usr/bin/zsh username
```
# Настройка агентов
Существует несколько вариантов настройки агентов для SSH и/или GPG.
Для любого из вариантов следует скопировать шаблонный файл для настроек:
```sh
cp ~/.config/zsh/55-agents.zsh ~/.config/zsh/55-agents.user.zsh
```
## Настройка GPG агента
Раскомментировать в файле ` ~/.config/zsh/55-agents.user.zsh` строки:
```text
# plugins+=(gpg-agent)
```
Пример файла настройки GPG агента `~/.config/gnupg/gpg-agent.conf`:
```text
default-cache-ttl 36000
max-cache-ttl 999999
enable-putty-support
default-cache-ttl-ssh 36000
allow-loopback-pinentry
pinentry-program /usr/bin/pinentry-qt
# enable-ssh-support
```
Чтобы включить в GPG агенте поддержку SSH, нужно раскомментировать
последнюю строку.
## Настройка SSH агента
Раскомментировать в файле ` ~/.config/zsh/55-agents.user.zsh` строки:
```text
# zstyle :omz:plugins:ssh-agent agent-forwarding on
# zstyle :omz:plugins:ssh-agent identities id_rsa
# zstyle :omz:plugins:ssh-agent lifetime 10h
# plugins+=(ssh-agent)
```
Добавить в конец файла `~/.ssh/config` правило для разрешения агенту сохранять ключи:
```text
Host *
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa
```
## Настройка Keychain
Программа Keychain позволит использовать агенты GPG и SSH между входами в систему.
Для её работы необходимо отключить в системе все автоматические запуски агентов,
например в файле `/etc/X11/Xsession.options`.
Раскомментировать в файле ` ~/.config/zsh/55-agents.user.zsh` строки:
```text
# zstyle :omz:plugins:keychain identities id_rsa 01234567
# zstyle :omz:plugins:keychain options --quiet --inherit local-once --noask --nocolor --quick
# zstyle :omz:plugins:keychain agents gpg,ssh
# plugins+=(keychain)
```
Отредактировать файлы настроек для агента GPG и SSH, как это описано в разделах выше.
## Инициализация
После редактирования файлов настройки запустить `zsh`, в результате чего будет
загружен фреймворк [Oh My Zsh](https://github.com/ohmyzsh/ohmyzsh) и сторонние плагины.
## Обновление
Обновление фреймворка:
```sh
omz update
````
Обновление плагинов:
```sh
update-custom-plugins
```