Files
hyprland-rising/README.md
T
aibrashandClaude Sonnet 5.5 e47f54d394 Add install.sh for a clean Fedora machine
Enables the sachesi/hyprland and avengemedia/dms COPRs, installs Hyprland,
DMS and the tools used by the scripts, optionally the Flatpak apps, then
deploys the configs into ~/.config. Existing configs are moved to
*.bak-<time>, so re-running is safe; --dry-run only prints the plan.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 13:53:48 +05:00

105 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# hyprland-rising
Hyprland 0.57 на Fedora 44: тёмный минималистичный райс для рабочей машины сисадмина.
Скруглённые окна с блюром, розовый акцент из темы DMS, всё управляется с клавиатуры.
## Что внутри
| Путь | Что это |
|---|---|
| `hypr/hyprland.lua` | основной конфиг (Lua-формат Hyprland 0.57): оформление, анимации, бинды, правила окон |
| `hypr/hypridle.conf` | затемнение (2,5 мин) → блокировка (5 мин) → погасание экрана (10 мин) |
| `hypr/cheatsheet.txt` | справка по хоткеям, открывается на `Mod+F1` (поиск по тексту) |
| `hypr/scripts/ssh-menu.sh`, `ssh_hosts.py` | SSH-меню на `Mod+S` (см. ниже) |
| `hypr/scripts/raise.sh` | «показать, если запущено, иначе запустить» для `Mod+B/T/K` |
| `hypr/scripts/prev-window.sh` | `Alt+Tab` — предыдущее окно |
| `hypr/scripts/ocr.sh` | `Mod+Shift+O` — область экрана → текст в буфер (рус+англ) |
| `hypr/scripts/tmux-broadcast.conf` | отдельный tmux для broadcast-окон SSH-меню |
| `dms/plugins/networkEditor` | плагин DMS: кнопка в панели, открывает `nm-connection-editor` |
| `dms/settings.json` | настройки DMS (панель, тема `pink`, лаунчер) |
| `systemd/user/hyprland-session.target` | нужен порталам (`xdg-desktop-portal`) вне uwsm |
| `kitty/kitty.conf` | терминал |
| `install.sh` | установка на чистую Fedora: репозитории, пакеты, Flatpak, конфиги |
| `sync.sh` | копирует живой конфиг из `~/.config` в репозиторий |
Панель, уведомления, лаунчер, блокировка, обои и буфер обмена — это
DankMaterialShell (DMS), Hyprland отвечает только за окна.
## SSH-меню (`Mod+S`)
Плавающее окно (fzf в kitty) со всеми хостами из `~/.ssh/config`:
статус доступности, группы цветом, плашка `PROD`, превью с пингом.
`Enter` — подключиться (окно становится обычным), `Alt+T` tmux на сервере,
`Alt+F` SFTP, `Alt+W` веб-интерфейс, `Alt+K` разослать ключ, `Alt+N` новый хост,
`Alt+E` править конфиг, `Alt+G` группа, `Alt+R` PROD, `Tab` отметить,
`Alt+B` broadcast в tmux на отмеченные хосты, `Alt+X` команда на отмеченных хостах.
Метаданные хоста хранятся комментариями прямо над `Host` в `~/.ssh/config`:
```
# group: Proxmox
# env: prod
# url: https://10.0.0.10:8006
Host proxmox1
HostName 10.0.0.10
User root
```
Сам `~/.ssh/config` и ключи в репозиторий не входят. Перед любой записью меню делает
бэкап в `~/.local/state/ssh-menu/backups`. Для хостов с `env: prod` перед broadcast
и запуском команды спрашивается подтверждение.
## Установка на чистую Fedora
Нужна обычная Fedora (в том числе без Hyprland), пользователь с `sudo` и сеть:
```bash
git clone git@git.ibrash.duckdns.org:aibrash/hyprland-rising.git
cd hyprland-rising
./install.sh --dry-run # посмотреть, что будет сделано, ничего не меняя
./install.sh # установить
```
Скрипт по шагам:
1. подключает COPR `sachesi/hyprland` (Hyprland нет в репозиториях Fedora) и `avengemedia/dms` (DMS);
2. ставит Hyprland с утилитами, DMS и инструменты для скриптов (kitty, fzf, tmux, grim, tesseract и т. д.);
3. ставит Flatpak-приложения из биндов и автозапуска: Chrome, Telegram, Remmina, клиент Nextcloud;
4. раскладывает конфиги в `~/.config` (`hypr`, плагин и настройки DMS, `kitty`, `hyprland-session.target`),
включает плагин `networkEditor` и создаёт `~/.ssh/sockets`.
Существующие конфиги не затираются: они переносятся в `*.bak-<время>`, повторный запуск безопасен.
Этапы можно пропустить: `--no-packages`, `--no-flatpak`, `--no-config`; `--yes` отключает вопросы.
После установки выйдите из сессии и выберите в GDM **Hyprland** (не `hyprland-uwsm`).
COPR — сторонние репозитории, пакеты в них никем не проверяются.
### Вручную (без скрипта)
```bash
sudo dnf copr enable sachesi/hyprland avengemedia/dms
sudo dnf install hyprland hyprlock hypridle hyprpaper hyprpicker hyprland-guiutils hyprpolkitagent \
xdg-desktop-portal-hyprland xdg-desktop-portal-gtk dms
cp -r hypr ~/.config/
mkdir -p ~/.config/dms/plugins ~/.config/systemd/user
cp -r dms/plugins/networkEditor ~/.config/dms/plugins/
cp systemd/user/hyprland-session.target ~/.config/systemd/user/
systemctl --user daemon-reload
```
Полный список пакетов-инструментов см. в начале `install.sh`. Плагин `networkEditor` включите в настройках
DMS (Plugins) или создайте `~/.config/dms/plugin_settings.json` с `{"networkEditor": {"enabled": true}}`
и выполните `dms restart`.
## Под себя
* В `hypr/hyprland.lua` имена мониторов (`eDP-1`, `HDMI-A-1`) и масштаб 1.25 — под конкретный ноутбук.
* Раскладка (`us,ru`, переключение Alt+Shift), чувствительность тачпада и мыши — там же, в блоке `input`.
* Блокировку экрана делает DMS через `hypr/scripts/lock.sh` (с запасным вариантом swaylock).
## Обновление репозитория
```bash
./sync.sh && git add -A && git commit -m "…" && git push
```