184 lines
7.5 KiB
Markdown
184 lines
7.5 KiB
Markdown
# Первоначальная настройка GNU Linux после установки
|
||
|
||
В репозитории собраны некоторые конфигурационные файлы для комфортной работы в консоли GNU Linux
|
||
|
||
- [Первоначальная настройка GNU Linux после установки](#первоначальная-настройка-gnu-linux-после-установки)
|
||
- [Автонастройка](#автонастройка)
|
||
- [Ручная настройка](#ручная-настройка)
|
||
- [Tmux](#tmux)
|
||
- [Установка tmux](#установка-tmux)
|
||
- [Скачивание конфига и запуск](#скачивание-конфига-и-запуск)
|
||
- [Оболочка zsh](#оболочка-zsh)
|
||
- [Oh-My-Zsh — популярный и активно развивающийся фреймворк Zsh, который позволяет гибко настроить оболочку терминала](#oh-my-zsh--популярный-и-активно-развивающийся-фреймворк-zsh-который-позволяет-гибко-настроить-оболочку-терминала)
|
||
- [Подсветка синтаксиса в консоли при вводе - `zsh-syntax-highlighting`](#подсветка-синтаксиса-в-консоли-при-вводе---zsh-syntax-highlighting)
|
||
- [Автодополнение команд из истории](#автодополнение-команд-из-истории)
|
||
- [Внешний вид - плагин PowerLevel10K](#внешний-вид---плагин-powerlevel10k)
|
||
- [Установить шрифт с поддержкой иконок](#установить-шрифт-с-поддержкой-иконок)
|
||
- [Установить непосредственно плагин PowerLevel10K для Oh My Zsh](#установить-непосредственно-плагин-powerlevel10k-для-oh-my-zsh)
|
||
- [Настройка](#настройка)
|
||
- [Aliases](#aliases)
|
||
|
||
## Автонастройка
|
||
|
||
Для упрощения процесса настройки можно воспользоваться [установочным скриптом](tmux_zsh_install.sh)
|
||
|
||
- выполнится установка `tmux`, из репозитория будет скопирован конфигурационный файл с настройками. Первый запуск будет долгим, т.к. будут скачаны темы и плагины
|
||
- выполнится установка `zsh` и плагинов `zsh-syntax-highlighting` (подсветка известных команд) `zsh-autosuggestions` (автодополнение команд из истории)
|
||
- выполнится установка и настройка фреймворка для `zsh` - [Oh-My-Zsh](https://ohmyz.sh/)
|
||
- для пользователя произойдёт смена оболочки на `zsh`
|
||
- [PowerLevel10K](https://github.com/romkatv/powerlevel10k) установлен НЕ БУДЕТ, т.к. требует интерактивной настройки при первом запуске
|
||
|
||
```shell
|
||
wget https://git.da2001.ru/da2001/dots/raw/branch/main/tmux_zsh_install.sh
|
||
```
|
||
|
||
Скрипт необходимо запукать от имени текущего пользователя. Пользователь должен имень привилегии `sudo`, в процессе выполнения скрипт попросит ввести пароль для установки пакетов и смены консоли пользователя.
|
||
|
||
```shell
|
||
bash tmux_zsh_install.sh
|
||
```
|
||
|
||
## Ручная настройка
|
||
|
||
### Tmux
|
||
|
||
#### Установка tmux
|
||
|
||
```shell
|
||
sudo apt-get update && sudo apt-get install -y curl git tmux
|
||
```
|
||
|
||
#### Скачивание конфига и запуск
|
||
|
||
Плагины установятся автоматически
|
||
|
||
```shell
|
||
curl --create-dirs -fLo \
|
||
~/.config/tmux/tmux.conf \
|
||
https://git.da2001.ru/da2001/dots/raw/branch/main/.config/tmux/tmux.conf
|
||
```
|
||
|
||
После скачивания конфига можно запускать tmux, первый запуск будет долгим, т.к. потребуется скачать плагины
|
||
|
||
```shell
|
||
tmux
|
||
```
|
||
|
||
### Оболочка zsh
|
||
|
||
```shell
|
||
sudo apt-get update && sudo apt-get install -y zsh zsh-syntax-highlighting
|
||
```
|
||
|
||
#### [Oh-My-Zsh](https://ohmyz.sh/) — популярный и активно развивающийся фреймворк Zsh, который позволяет гибко настроить оболочку терминала
|
||
|
||
Установка - [тыц](https://ohmyz.sh/#install)
|
||
|
||
```sh
|
||
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
||
```
|
||
|
||
#### Подсветка синтаксиса в консоли при вводе - `zsh-syntax-highlighting`
|
||
|
||
<https://github.com/zsh-users/zsh-syntax-highlighting>
|
||
|
||
```shell
|
||
sudo apt-get update && sudo apt-get install -y zsh-syntax-highlighting
|
||
```
|
||
|
||
Для активации подсветки синтаксиса необходимо добавить путь к скрипту в настройки `.zshrc`
|
||
|
||
```shell
|
||
echo "source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
|
||
```
|
||
|
||
#### Автодополнение команд из истории
|
||
|
||
<https://github.com/zsh-users/zsh-autosuggestions>
|
||
|
||
Установка в Oh My Zsh
|
||
|
||
```shell
|
||
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
|
||
```
|
||
|
||
Добавить плагин к списку плагинов Oh My Zsh `~/.zshrc`:
|
||
|
||
```shell
|
||
plugins=(
|
||
# other plugins...
|
||
zsh-autosuggestions
|
||
)
|
||
```
|
||
|
||
Для дефолтного zsh
|
||
|
||
```sh
|
||
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
|
||
```
|
||
|
||
Перезагрузить оболочку
|
||
|
||
```sh
|
||
source ~/.zshrc
|
||
```
|
||
|
||
#### Внешний вид - плагин PowerLevel10K
|
||
|
||
Тема [PowerLevel10K](https://github.com/romkatv/powerlevel10k)
|
||
|
||
##### Установить шрифт с поддержкой иконок
|
||
|
||
```shell
|
||
https://github.com/ryanoasis/nerd-fonts?tab=readme-ov-file#font-installation
|
||
```
|
||
|
||
если кратко:
|
||
|
||
```shell
|
||
apt-get install -y fontconfig
|
||
mkdir -p ~/.local/share/fonts
|
||
curl -OL https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.tar.xz
|
||
tar -xvf JetBrainsMono.tar.xz -C ~/.local/share/fonts
|
||
rm JetBrainsMono.tar.xz
|
||
fc-cache
|
||
```
|
||
|
||
##### Установить непосредственно плагин PowerLevel10K для Oh My Zsh
|
||
|
||
```shell
|
||
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
|
||
```
|
||
|
||
В настройках `~/.zshrc` заменить значение темы на
|
||
|
||
```shell
|
||
ZSH_THEME="powerlevel10k/powerlevel10k"
|
||
```
|
||
|
||
##### Настройка
|
||
|
||
После первого запуска консоли будет запущен мастер настройки внешнего вида PowerLevel10K
|
||
|
||
### Aliases
|
||
|
||
При переключении между `bash` и `zsh` удобнее иметь единый файл для псевдонимов (aliases) - `.aliases` и связать его с `.bashrc` и `.zshrc`:
|
||
|
||
```shell
|
||
.bashrc
|
||
if [ -f ~/.aliases ]; then
|
||
. ~/.aliases
|
||
fi
|
||
```
|
||
|
||
```shell
|
||
.zshrc
|
||
source $HOME/.aliases
|
||
```
|
||
|
||
```shell
|
||
.aliases
|
||
alias ip='ip --color=auto'
|
||
alias ssht='ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'
|
||
```
|