Страница 1 из 1

Мини-скрипт кастома ZSH (Oh-My-ZSH)

Добавлено: 20 янв 2022, 15:59
Chocobo
Небольшой скрипт настройки шелла zsh. А именно
  • установка oh-my-zsh
  • смена темы на Avit
  • включение дефолтным шеллом
  • добавление плагинов
    • syntax-highlighting (подсветка синтаксиса)
    • autosuggestions (автодополнение)
    • timer (Время выполнения в правом углу)
Требует только наличия git и zsh, в процессе применения спросит полкитом sudo-пароль для chsh

Никакого rocket-science, просто привычный джентльменский набор, без которого грустно. А на каждой системе при случае надоело руками настраивать и вспоминать что где брать и куда пихать :smile:

Код: Выделить всё

#! /bin/bash
if ! [ -x "$(command -v zsh)" ]; then
  echo 'Error: zsh is not installed.' >&2
  exit 1
fi
if ! [ -x "$(command -v git)" ]; then
  echo 'Error: git is not installed.' >&2
  exit 1
fi

ZSH_BIN=$(which zsh)
USER=$(whoami)

# install ohmyzsh
wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O /tmp/omz.sh
bash /tmp/omz.sh --unattended # no chsh, no run zsh

# get plugins
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions	
git clone https://github.com/zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# change theme
sed -i 's/robbyrussell/avit/g' ~/.zshrc

# apply plugins
sed -i 's/(git)/(git timer zsh-syntax-highlighting zsh-autosuggestions)/g' ~/.zshrc

# change default shell for current user with gui password asking
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY sh -c "chsh -s $ZSH_BIN $USER"

# enter new shell
zsh