Files
hyprland-rising/README.md
T
aibrashandClaude Sonnet 5.5 946d93faa7 Initial commit: Hyprland 0.57 rice for Fedora 44
Dark minimalist setup for a sysadmin workstation: rounded blur windows with
the DMS pink accent, keyboard-driven SSH hub (Mod+S), run-or-raise app
binds, Alt+Tab window switching, OCR of screen regions, hotkey cheatsheet,
DMS network-editor plugin and the systemd session target for portals.

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

95 lines
5.5 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` | терминал |
| `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
и запуском команды спрашивается подтверждение.
## Установка
Hyprland нет в репозиториях Fedora 44, он ставится из COPR:
```bash
sudo dnf copr enable sachesi/hyprland
sudo dnf install hyprland hyprlock hypridle hyprpaper hyprpicker \
xdg-desktop-portal-hyprland hyprland-guiutils hyprpolkitagent cliphist playerctl
# инструменты, которые используют скрипты
sudo dnf install fzf tmux kitty jq grim slurp wl-clipboard brightnessctl \
nautilus keepassxc nm-connection-editor tesseract tesseract-langpack-eng \
tesseract-langpack-rus ImageMagick jetbrains-mono-fonts
```
DMS ставится из COPR `avengemedia/dms` (см. документацию DMS). В автозапуске и на биндах
используются Flatpak-приложения: `com.google.Chrome`, `org.telegram.desktop`,
`org.remmina.Remmina`, `com.nextcloud.desktopclient.nextcloud`.
```bash
git clone git@git.ibrash.duckdns.org:aibrash/hyprland-rising.git
cd hyprland-rising
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
```
Чтобы плагин `networkEditor` заработал, включите его в настройках DMS (Plugins) и добавьте виджет
в панель. Либо скопируйте `dms/settings.json` в `~/.config/dms/` и создайте
`~/.config/dms/plugin_settings.json` с содержимым `{"networkEditor": {"enabled": true}}`, затем `dms restart`.
После этого выберите в GDM сессию **Hyprland** (не `hyprland-uwsm`).
## Под себя
* В `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
```