Настройка ZSH в Fedora, Linux Mint и других ubuntu подобных дистрибутивах

Свое рабочее место все хотят сделать чуть лучше и удобнее чем оно идет из «Коробки». в данной инструкции можно быстро и без боли настроить Шелл-терминал ZSH, для лучшего отображения информации и при необходимости расширять его функционал плагинами. Попутно установим один из терминалов Kitty который позволяет использовать вкладки и «окна» в работе. Используя его можно структурировать рабочее место легко и быстро. Плюсом данной инструкции будет то что вы получите свежие и стабильные версии NeoVim и некоторых пакетов, т.к. установку и сборку будем производить непосредственно из репозиториев.

Для начала обновим все пакеты, обращу внимание, разные строчки будут для разных дистрибутивов. (Ubuntu и Ubuntu подобные дистрибутивы типа Linux Mint и т.п. будем писать Ubuntu для краткости):

Ubuntu: sudo apt update

Fedora: sudo dnf update

Установим Git для скачивания пакетов. (если у вас он установлен, можно шаг пропустить):

Ubuntu: sudo apt install git

Fedora: sudo dnf install git

Далее устанавливаем терминал Kitty, установим его из репозиториев самих систем. информацию о самом терминале, горячих клавишах можно почитать здесь (https://sw.kovidgoyal.net/kitty/):

Ubuntu: sudo apt install kitty

Fedora: sudo dnf install kitty

Пришло время установить сам Шелл ZSH

Ubuntu: sudo apt install zsh

Fedora: sudo dnf install zsh

На всякий случай, создадим файл конфигурации если он не создался при установке:

touch ~/.zshrc

Назначим zsh коммандной оболочкой (шелл) по умолчанию в нашей системе, в зависимости от ваших настроек в системе, может понадобиться ввести пароль для смены шелла:

chsh -s $(which zsh)

Для возможности установки дополнительных плагинов и «прокачивания» ZSH установим для него фреймворк OhMyZsh информацию о нем можно почитать здесь (https://ohmyz.sh/)

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

для дальнейшей установки, дабы не мусорить в своих каталогах, создадим в корне профиля папку tmp

cd ~/ && mkdir tmp && cd tmp

Скачиваем скрипты из моего репозитория, в нем можно найти рабочие настройки для различных используемых в работе приложений.таких как (i3 — тайловый менеджер, polybar, helix — редактор кода, wezterm — мультиплексный терминал, picom — красивости для оконного менеджера, nvim — редактор кода, kitty — мультиплексный терминал), конкретно нас нитересует скрипт установки необходимых шрифтов:

git clone https://github.com/apilot/dotfiles.git

cd ~/tmp/dotfiles

Выбираем шрифты которые хотим установить. основные шрифты уже выбраны. если необходимо можно убрать комментарий перед наименованием шрифта в списке или закомментировать те что не нужны. в любом случае в последствии вы можете потом удалить лишнее из самой папки ~/.local/share/fonts:

675f601772b26449a9cab414bfd0fea9.png

сделаем скрипт исполняемым:

chmod +x ./fonts_install.sh

запускаем его:

./font_install.sh

далее установим тему с менеджером для ее «тонкой» настройки:

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

Необходимо отредактировать файл ~/.zshrc, заменить значение ключа ZSH_THEME на :
ZSH_THEME="powerlevel10k/powerlevel10k"

запускаем редактор:

nano ~/.zshrc

c98b410ce107aaa37a5542e4c628da65.png

для сохранения нажимаем Ctrl + X и нажимаем Enter

закрываем терминал

нажимаем ALT-F2 и набираем команду

kitty

далее следуем инструкции по настройке нашей темы Powerlevel10k, все достаточно просто и прозрачно. для вашего удобства по шагам сделал снимки окошка:

нас спрашивают видим ли мы ромб между стрелками

нас спрашивают видим ли мы ромб между стрелками

виден ли замок между стрелками

виден ли замок между стрелками

спрашивают видим ли мы стрелку вверх, на этом шаге у меня получилось не верно, стрелки нет, посему нажал нет

спрашивают видим ли мы стрелку вверх, на этом шаге у меня получилось не верно, стрелки нет, посему нажал нет

на следующем шаге стрелка появилась, продолжаем настройку

на следующем шаге стрелка появилась, продолжаем настройку

спрашивает на какую из цифр указывает зеленая стрелка вниз

спрашивает на какую из цифр указывает зеленая стрелка вниз

интересуются нормально ли отображаются иконки вместе с текстом, не наезжают ли они на X крестики

интересуются нормально ли отображаются иконки вместе с текстом, не наезжают ли они на X крестики

выбираем то на что нам будет приятнее смотреть

выбираем то на что нам будет приятнее смотреть

так как предполагается использование русских символов, выбираем UNICODE

так как предполагается использование русских символов, выбираем UNICODE

выбираем степень затемненности нашей информационной строки шела

выбираем степень затемненности нашей информационной строки шела

выбираем нужно ли, и в каком формате, время в статусной строке терминала

выбираем нужно ли, и в каком формате, время в статусной строке терминала

как хотим разделять информацию в левой части панели

как хотим разделять информацию в левой части панели

какого типа будет

какого типа будет «голова» левой части терминала

какой тип будет у

какой тип будет у «хвоста» левой части

выбираем в одну или две строки показывать статусную строку. по использованию могу лишь посоветовать 2 строки. т.к. информация о ветке в гите будет съедать много места и на

выбираем в одну или две строки показывать статусную строку. по использованию могу лишь посоветовать 2 строки. т.к. информация о ветке в гите будет съедать много места и на «тело» командной строки останется совсем не много., а так во всю ширину будет возможность писать команды.

хотим ли мы визуально соединять левую и правую часть ифнормационной части терминала и каким способом

хотим ли мы визуально соединять левую и правую часть ифнормационной части терминала и каким способом

нужны ли нам соединительные линии для двух строк одного пространства, коммандной строки и информационной панели

нужны ли нам соединительные линии для двух строк одного пространства, коммандной строки и информационной панели

тоже на любителя, компактный вариант или с разделением в строку

тоже на любителя, компактный вариант или с разделением в строку

вариант отображения иконок в статусной строке

вариант отображения иконок в статусной строке

здесь как вам больше нравится

здесь как вам больше нравится

интересная опция с вариантом не перегружать последовательность комманд

интересная опция с вариантом не перегружать последовательность комманд

подтверждаем первым рекомендованным пунктом

подтверждаем первым рекомендованным пунктом

сохраняем настройки в нашем файле конфигурации zsh

сохраняем настройки в нашем файле конфигурации zsh

в результате получаем вот такой терминал, с легко читаемой информацией о состоянии и пути дериктории в которой работаем.

в результате получаем вот такой терминал, с легко читаемой информацией о состоянии и пути дериктории в которой работаем.

Всем добра!

© Habrahabr.ru