# Конфиги рабочего стола 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-сессию.