# Установка Установка необходимых пакетов: ```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 ```