114 lines
5.0 KiB
Markdown
114 lines
5.0 KiB
Markdown
# Конфиги рабочего стола Bazzite
|
||
|
||
Эта папка содержит конфигурацию рабочего стола Bazzite для Wayland-сессии на
|
||
Niri. Идея в том, чтобы подключать эти файлы в `~/.config` на Bazzite-машине и
|
||
держать живую конфигурацию рабочего стола синхронизированной с этим
|
||
репозиторием.
|
||
|
||
## Что здесь настроено
|
||
|
||
| Путь | Назначение |
|
||
|---|---|
|
||
| `niri/config.kdl` | Конфиг Niri: ввод, монитор, раскладка окон, автозапуск, правила окон, хоткеи. |
|
||
| `waybar/` | Верхняя панель: конфиг, CSS в стиле Catppuccin и custom-модули. |
|
||
| `waybar/scripts/gpu.sh` | Модуль Waybar для загрузки и температуры NVIDIA GPU через `nvidia-smi`. |
|
||
| `waybar/scripts/weather.sh` | Модуль Waybar с погодой через `wttr.in`. |
|
||
| `khal-calendar/` | Rust-версия календарного модуля Waybar. |
|
||
| `mail-counter/` | Rust-модуль Waybar для счетчика непрочитанных писем Thunderbird. |
|
||
| `fuzzel/fuzzel.ini` | Тема лаунчера Fuzzel на цветах Catppuccin Latte. |
|
||
| `btop/btop.conf` | Настройки системного монитора btop. |
|
||
| `glow/glow.yml` | Настройки терминального Markdown-viewer Glow. |
|
||
| `gtk-3.0/`, `gtk-4.0/` | GTK-настройки и цветовые файлы Breeze/Catppuccin. |
|
||
| `xsettingsd/xsettingsd.conf` | Настройки GTK, курсора, иконок, шрифта и DPI для X11/XWayland-приложений. |
|
||
| `environment.d/intel-gtk-fix.conf` | Переменная окружения сессии: `GSK_RENDERER=gl`. |
|
||
| `autostart/steam.desktop` | Автозапуск Steam через Bazzite Steam wrapper. |
|
||
| `wallpapers/image.png` | Текущая картинка рабочего стола для `swaybg`. |
|
||
|
||
## Как это работает
|
||
|
||
Niri запускает `swaybg` и `waybar` из `niri/config.kdl`. `swaybg` рисует
|
||
wallpaper, Waybar поднимает:
|
||
|
||
- встроенные Niri-модули для рабочих столов, заголовка окна и раскладки
|
||
клавиатуры;
|
||
- системные модули для звука, сети, CPU, памяти, температуры, диска, privacy,
|
||
power profile и tray;
|
||
- custom-модули для почты Thunderbird, погоды, NVIDIA GPU и календаря из
|
||
`khal`.
|
||
|
||
Календарный модуль печатает JSON для Waybar и показывает Pango-tooltip с текущим
|
||
месяцем, подсвеченными днями с событиями и ближайшими событиями из `khal`.
|
||
Активная реализация сейчас - скомпилированный Rust-бинарник:
|
||
|
||
```jsonc
|
||
"exec": "~/.config/waybar/scripts/khal-calendar"
|
||
```
|
||
|
||
## Ожидаемые программы
|
||
|
||
Для полной работы конфигурации на Bazzite ожидаются:
|
||
|
||
- `niri`
|
||
- `waybar`
|
||
- `fuzzel`
|
||
- `btop`
|
||
- `glow`
|
||
- `xsettingsd`
|
||
- `alacritty`
|
||
- `swaybg`
|
||
- `khal`, `ikhal`, `vdirsyncer`
|
||
- `nvidia-smi`
|
||
- `curl`
|
||
- `cargo` для пересборки `khal-calendar` и `mail-counter`
|
||
|
||
## Установка
|
||
|
||
Подключить директории в `~/.config`:
|
||
|
||
```bash
|
||
for dir in niri fuzzel waybar btop glow gtk-3.0 gtk-4.0 xsettingsd environment.d autostart; do
|
||
ln -sfn ~/dotfiles/bazzite/$dir ~/.config/$dir
|
||
done
|
||
mkdir -p ~/Pictures/Wallpapers
|
||
ln -sfn ~/dotfiles/bazzite/wallpapers/image.png ~/Pictures/Wallpapers/image.png
|
||
```
|
||
|
||
Если репозиторий лежит не в `~/dotfiles`, путь нужно поправить.
|
||
|
||
## Сборка календарного модуля
|
||
|
||
Собрать и установить Rust-бинарник календаря на Bazzite:
|
||
|
||
```bash
|
||
cd ~/dotfiles/bazzite/khal-calendar
|
||
cargo build --release
|
||
install -m 755 target/release/khal-calendar ~/.config/waybar/scripts/khal-calendar
|
||
```
|
||
|
||
Исходники остаются в `khal-calendar/`; установленный бинарник лежит в
|
||
`~/.config/waybar/scripts/`.
|
||
|
||
## Сборка почтового модуля
|
||
|
||
Собрать и установить Rust-бинарник счетчика писем на Bazzite:
|
||
|
||
```bash
|
||
cd ~/dotfiles/bazzite/mail-counter
|
||
cargo build --release
|
||
install -m 755 target/release/mail-counter ~/.config/waybar/scripts/mail
|
||
```
|
||
|
||
Модуль читает `global-messages-db.sqlite` из профиля Thunderbird и печатает JSON
|
||
для `custom/mail` в Waybar.
|
||
|
||
## Перезагрузка
|
||
|
||
После изменения конфига или CSS Waybar:
|
||
|
||
```bash
|
||
pkill -SIGUSR2 waybar
|
||
```
|
||
|
||
Если Waybar не подхватил изменения, нужно перезапустить Waybar вручную или
|
||
перезапустить Niri-сессию.
|