# Dotfiles

# Навигация
- [Установка](#установка)
- [Детальный обзор](#детальный-обзор)
- [Доп. пакеты](#дополнительные-пакеты) необходимые для корректной работы системы
- [Hyprland](#hyprland) - оконный менеджер
- [Бинды](#бинды) - все сочетания клавиш
- [Иконки](#иконки) - пак иконок
- [Курсор](#курсор) - тема курсора
- [Шрифты](#шрифты) - установка шрифтов
- [Hypridle](#hypridle) - поведение при бездействии
- [Hyprlock](#hyprlock) - экран блокировки
- [Waybar](#waybar) - wayland бар
- [Rofi](#rofi) - запуск приложений, интерфейс для буфера обмена
- [Wlogout](#wlogout) - блокировка экрана, выход, перезагрузка, выключение и т.д
- [Nwg-look](#nwg-look) - настройка GTK3
- [Qt5ct](#qt5ct) - настройка Qt5
- [Терминал](#терминал) - настройка терминала
- [Swaync](#swaync) - уведомления
- [Waypaper](#waypaper) - GUI для простого управление обоями
- [Обои](#обои) - коллекция обоев/фонов
- [Fastfetch](#fastfetch) - похвастаться линуксом)
- [Emote](#emote) - выбор эмодзи
- [Flameshot](#flameshot) - мощная утилита для скриншотов
> [!WARNING]
> Мои конфиги не рассчитаны на универсальное применение и не автоматизированы на 100%, поэтому они могут потребовать ручной донастройки. Я не несу ответственности за не корректную работу конфигов или программного обеспечения.
# Установка
0. Обновление системы
```
sudo pacman -Syu
```
1. Установка Git
```
sudo pacman -S git
```
2. Клонирование репозитория
```
git clone https://github.com/retrilzzy/dotfiles.git ~/dotfiles && cd ~/dotfiles
```
3. Запуск скрипта установки
_Автоматически создаст резервную копию старых конфигов `~/.config/` в `~/.config-backups/`_
```
chmod +x ./Scripts/install.sh
./Scripts/install.sh
```
### Восстановление резервной копии конфигов
```
chmod +x ~/dotfiles/Scripts/restore.sh
~/dotfiles/Scripts/restore.sh
```
# Детальный обзор
## Дополнительные пакеты
- Помощник для установки пакетов из AUR - [yay](https://github.com/Jguer/yay)
```
sudo pacman -S --needed git base-devel \
&& git clone https://aur.archlinux.org/yay.git \
&& cd yay && makepkg -si
```
- Трей апплет для управления WiFi соединениями - [network-manager-applet](https://archlinux.org/packages/?sort=&q=network-manager-applet)
- Bluetooth - [bluez, bluez-tools, blueman](https://archlinux.org/packages/?sort=&q=bluez)
- Управления яркостью экрана - [brightnessctl](https://archlinux.org/packages/?sort=&q=brightnessctl)
- Управление мультимедиа - [playerctl](https://archlinux.org/packages/?sort=&q=playerctl)
- Интеграция приложений с рабочим столом - [xdg-utils, xdg-desktop-portal](https://archlinux.org/packages/?sort=&q=xdg-)
- Скриншоты - [hyprshot](https://aur.archlinux.org/packages/hyprshot)
- Запись с экрана - [wf-recorder](https://archlinux.org/packages/?sort=&q=wf-recorder)
```
sudo pacman -S network-manager-applet \
bluez bluez-tools blueman \
brightnessctl playerctl \
xdg-utils xdg-desktop-portal-hyprland xdg-desktop-portal-gtk xdg-desktop-portal-wlr xdg-desktop-portal \
wf-recorder \
&& yay -S hyprshot
```
## Hyprland
Оконный менеджер (WM)
- [[Основной конфиг](./Configs/.config/hypr/hyprland.conf)]
- [[Бинды](./Configs/.config/hypr/keybindings.conf)]
- [[Правила окон и рабочих столов](./Configs/.config/hypr/rules.conf)]
## Бинды
Запуск приложений
| Клавиши | Действие |
| :------------------------------------------------- | :--------------------------------------- |
| Super + W | Терминал (Kitty) |
| Super + Shift + W | Терминал в плавающем режиме (float) |
| Super + R | Меню приложений (Rofi) |
| Super + R | Меню приложений с запуском через Oniux\* |
| Super + E | Файловый менеджер (Nautilus) |
| Super + C | Редактор кода (VSCode) |
| Super + B | Браузер (Brave) |
| Super + K | Менеджер паролей (Keepassxc) |
| Super + V | Буфер обмена (Cliphist) |
| Super + N | Центр уведомлений (Swaync) |
| Super + Shift + E | Меню эмодзи (Emote) |
| Super + Shift + P | Управление обоями (Waypaper) |
\*Oniux - https://blog.torproject.org/introducing-oniux-tor-isolation-using-linux-namespaces/
Взаимодействие с окнами
| Клавиши | Действие |
| :--------------------------------------------------------- | :------------------------------------------------ |
| Super + Q | Закрыть активное окно |
| Super + A | Переключение на псевдоплиточный режим (pseudo) |
| Super + F | Переключение окна в режим "плавающее" (float) |
| Super + S | Закрепление окна поверх всех рабочих столов (pin) |
| Super + D | Переключение режима разделения окна |
| Alt + Tab | Переключение на следующее окно |
| Super + Стрелки | Перемещение фокуса между окнами |
| Super + Control + Стрелки | Изменение размера активного окна |
| Super + Shift + Стрелки | Перемещение окон |
| Super + ЛКМ | Перемещение окон мышью |
| Super + ПКМ | Изменение размера окон мышью |
Рабочие пространства (столы)
| Клавиши | Действие |
| :----------------------------------------------------- | :--------------------------------------------------- |
| Super + [0-9] | Переключение между рабочими пространствами с 1 по 10 |
| Super + Shift + [0-9] | Перемещение окна в рабочее пространство с 1 по 10 |
| Super + Tab | Переключение на специальное рабочее пространство |
| Super + Shift + Tab | Перемещение окна в специальное рабочее пространство |
| Super + Колесо мыши | Переключение между рабочими пространствами |
Управление экраном/питанием
| Клавиши | Действие |
| :----------------------------------------------- | :--------------------------------------------- |
| Super + L | Заблокировать экран |
| Super + Alt + D | Включить/выключить дисплей |
| Super + Alt + S | Заблокировать экран и перевести в спящий режим |
Скриншоты
| Клавиши | Действие |
| :------------------------------------------------- | :--------------------------------------------------------------- |
| Print | Скриншот всего экрана |
| Shift + Print | Скриншот выделенной области |
| Super + Shift + F | Flameshot GUI (мощная утилита для скриншотов) |
| Super + Print | Скриншот и авто загрузка на [Zipline](https://zipline.diced.sh/) |
Остальное
| Клавиши | Действие |
| :------------------------------------------------- | :----------------------------------------- |
| Super + Escape | Скрыть/показать Waybar |
| Super +Alt + P | Случайный фон из директории Wallpapers |
| Super + Shift + R | Начать запись области экрана (wf-recorder) |
| Super + M | Включение/выключение микрофона |
## Иконки
https://github.com/PapirusDevelopmentTeam/papirus-icon-theme
```
sudo pacman -S papirus-icon-theme
```
## Курсор
https://github.com/rose-pine/cursor
https://github.com/ndom91/rose-pine-hyprcursor
```
yay -S rose-pine-cursor rose-pine-hyprcursor
```
## Шрифты
- [Noto](https://www.google.com/get/noto/) - поддержка всех языков + эмодзи + специальные символы
```
sudo pacman -S noto-fonts noto-fonts-emoji noto-fonts-cjk noto-fonts-extra
```
- [JetBrains Mono Nerd](https://www.jetbrains.com/lp/mono/) для VSCode и Waybar
```
sudo pacman -S ttf-jetbrains-mono-nerd
```
- [Meslo Nerd](https://github.com/romkatv/powerlevel10k?tab=readme-ov-file#fonts) рекомендуемый шрифт для powerlevel10k (Zsh тема)
```
yay -S ttf-meslo-nerd-font-powerlevel10k
```
## Hypridle
Поведение при бездействии [[конфиг](./Configs/.config/hypr/hypridle.conf)]
https://wiki.hypr.land/Hypr-Ecosystem/hypridle |
https://github.com/hyprwm/hypridle
```
sudo pacman -S hypridle
```
| Действие | Таймаут |
| ----------------- | ------- |
| Снижение яркости | 10 мин. |
| Уведомление | 13 мин. |
| Блокировка сессии | 15 мин. |
| Выключение экрана | 16 мин. |
| Спящий режим | 18 мин. |
## Hyprlock
Экран блокировки [[конфиг](./Configs/.config/hypr/hyprlock.conf)]
https://github.com/hyprwm/hyprlock
```
sudo pacman -S hyprlock
```
Скриншот

## Waybar
Wayland бар [[конфиг](./Configs/.config/waybar/)]
https://github.com/Alexays/Waybar
```
sudo pacman -S waybar
```
Скриншот

## Rofi
Запуск приложений, интерфейс для буфера обмена [[конфиг](./Configs/.config/rofi/)]
https://github.com/davatorium/rofi
```
sudo pacman -S rofi wl-clipboard cliphist
```
Скриншот (Лаунчер приложений)

Скриншот (Буфер обмена)

## Wlogout
Блокировка экрана, выход, перезагрузка, выключение и т.д. [[конфиг](./Configs/.config/wlogout/)]
https://github.com/ArtsyMacaw/wlogout
```
yay -S wlogout
```
Скриншот

## Терминал
Эмулятор терминала - [Kitty](https://sw.kovidgoyal.net/kitty) [[конфиг](./Configs/.config/kitty/)]
Оболочка - [Zsh](https://www.zsh.org/) [[конфиг](./Configs/.zshrc)]
Расширение для Zsh - [Oh My Zsh](https://github.com/ohmyzsh/ohmyzsh)
Тема - [powerlevel10k](https://github.com/romkatv/powerlevel10k) [[конфиг](./Configs/.p10k.zsh)]
Скриншот

Установка Kitty и Zsh
```
sudo pacman -S kitty zsh
```
Смена оболочки
```
chsh -s $(which zsh)
```
Установка Oh My Zsh
```
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
```
Установка темы powerlevel10k
```
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
```
Установка плагинов для zsh через Oh My Zsh:
- [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting)
```
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
```
- [zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions)
```
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
```
Установка [exa](https://github.com/ogham/exa) (замена ls)
```
sudo pacman -S exa
```
## Nwg-look
Настройка GTK [[конфиг](./Configs/.config/nwg-look/)]
https://github.com/nwg-piotr/nwg-look
```
sudo pacman -S nwg-look
```
**Дефолтная темная тема**
```
> ~/.themes/Adwaita-Dark/gtk-3.0/gtk.css
@import url("resource:///org/gtk/libgtk/theme/Adwaita/gtk-contained-dark.css");
```
```
gsettings set org.gnome.desktop.interface color-scheme prefer-dark
gsettings set org.gnome.desktop.interface gtk-theme Adwaita-dark
```
## Qt5ct
Настройка Qt5 [[конфиг](./Configs/.config/qt5ct/)]
https://github.com/desktop-app/qt5ct
```
sudo pacman -S qt5ct
```
## SwayNC
Уведомления [[конфиг](./Configs/.config/swaync/)]
https://github.com/ErikReider/SwayNotificationCenter
```
sudo pacman -S swaync
```
## Waypaper
GUI для простого управление обоями
https://github.com/anufrievroman/waypaper
```
yay -S waypaper
```
Для статичных изображений и gif (необходим)
```
sudo pacman -S swww
```
Для видео
```
sudo pacman -S mpvpaper
```
### Обои
- [Монохром](https://share.rzx.ovh/folder/cm8q1lxwp000mln01qsqbpb7f)
- Возможно будут еще...
## Fastfetch
Похвастаться линуксом) [[конфиг](./Configs/.config/fastfetch/)]
https://github.com/fastfetch-cli/fastfetch
```
sudo pacman -S fastfetch
```
Скриншот

## Emote
Выбор эмодзи
https://github.com/tom-james-watson/Emote
```
yay -S emote
```
## Flameshot
Мощная утилита для скриншотов [[конфиг](./Configs/.config/flameshot/)]
https://flameshot.org
```
sudo pacman -S flameshot
```
Скриншот
