136 lines
3.8 KiB
Markdown
136 lines
3.8 KiB
Markdown
# Установка
|
||
|
||
Установка оболочки [`Zsh`](https://www.zsh.org):
|
||
|
||
```sh
|
||
sudo apt-get install git zsh
|
||
```
|
||
|
||
Установка желательных пакетов:
|
||
|
||
```sh
|
||
sudo apt-get install autojump fzf grc keychain peco wmctrl xdotool
|
||
```
|
||
|
||
Клонирование репозитория в каталог `~/.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` строки:
|
||
|
||
```sh
|
||
# zcomet load ohmyzsh 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` строки:
|
||
|
||
```sh
|
||
# zstyle :omz:plugins:ssh-agent agent-forwarding on
|
||
# zstyle :omz:plugins:ssh-agent identities id_rsa
|
||
# zstyle :omz:plugins:ssh-agent lifetime 10h
|
||
# zcomet load ohmyzsh plugins/ssh-agent
|
||
```
|
||
|
||
Добавить в конец файла `~/.ssh/config` правило для разрешения агенту сохранять ключи:
|
||
|
||
```text
|
||
Host *
|
||
AddKeysToAgent yes
|
||
IdentityFile ~/.ssh/id_rsa
|
||
```
|
||
|
||
|
||
## Настройка Keychain
|
||
|
||
Программа Keychain позволит использовать агенты GPG и SSH между входами в систему.
|
||
Для её работы необходимо отключить в системе все автоматические запуски агентов,
|
||
например в файле `/etc/X11/Xsession.options` удалить строку:
|
||
|
||
```sh
|
||
use-ssh-agent
|
||
```
|
||
|
||
Раскомментировать в файле ` ~/.config/zsh/55-agents.user.zsh` строки:
|
||
|
||
```sh
|
||
# 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
|
||
# zcomet load ohmyzsh plugins/keychain
|
||
```
|
||
|
||
Отредактировать файлы настроек для агента GPG и SSH, как это описано в разделах выше.
|
||
|
||
|
||
## Инициализация
|
||
|
||
После редактирования файлов настройки запустить `zsh`. Автоматически будет загружен
|
||
менеджер [zcomet](https://github.com/agkozak/zcomet) и необходимые плагины.
|
||
|
||
|
||
## Обновление
|
||
|
||
Обновление `zcomet`:
|
||
|
||
```sh
|
||
zcomet self-update
|
||
````
|
||
|
||
Обновление плагинов:
|
||
|
||
```sh
|
||
zcomet update
|
||
```
|