Este repositório mantém uma sessão Hyprland autônoma ao lado do GNOME. O GDM continua como display manager. O Hyprland inicia por UWSM e usa Catppuccin Mocha desde o primeiro login.
O login não baixa arquivos e não consulta configurações fora deste repositório.
Os arquivos em ~/.config são links gerenciados pelo GNU Stow. A única cópia
instalada no sistema é a entrada de sessão do GDM, cuja fonte está em
system/wayland-sessions.
Commit-base de rollback:
2bc69b2becb3d7e3aefa554fa1a1cd26f3d4d1d7
- Fedora 44 Workstation, kernel 6.19.10.
- GNOME 50 em Wayland e GDM instalados.
- AMD Radeon RX 6650 XT com o driver
amdgpu. - Acer QG241Y S em
DP-2, 1920x1080 a 164.998 Hz. - PipeWire, WirePlumber, Kitty, Nautilus,
wl-clipboard,jq, Libnotify, Stow e os portais GNOME e GTK já instalados.
O módulo monitor.lua arredonda o modo reportado pelo GNOME para
1920x1080@165, como exige o Hyprland.
| Pacote | Origem | Estado inicial | Uso |
|---|---|---|---|
hyprland |
COPR único | ausente | compositor e hyprctl |
uwsm |
COPR único | ausente | sessão systemd do usuário |
hyprlock |
COPR único | ausente | bloqueio de tela |
hypridle |
COPR único | ausente | lock, DPMS e suspensão por inatividade |
hyprpaper |
COPR único | ausente | wallpaper local |
xdg-desktop-portal-hyprland |
COPR único | ausente | screencast e integração de portais |
waybar |
Fedora | ausente | barra |
fuzzel |
Fedora | ausente | launcher e menus dmenu |
mako |
Fedora | ausente | notificações |
cliphist |
Fedora | ausente | histórico do clipboard |
grim |
Fedora | ausente | captura de tela |
slurp |
Fedora | ausente | seleção de região |
pavucontrol |
Fedora | ausente | controle gráfico de áudio |
playerctl |
Fedora | ausente | teclas de mídia |
lxqt-policykit |
Fedora | ausente | agente Polkit |
jetbrains-mono-fonts |
Fedora | ausente | fonte da sessão |
fontawesome-6-free-fonts |
Fedora | ausente | ícones da Waybar |
pipewire, wireplumber |
Fedora | instalado | áudio |
wl-clipboard |
Fedora | instalado | clipboard Wayland |
kitty, nautilus |
Fedora | instalado | terminal e arquivos |
xdg-desktop-portal, xdg-desktop-portal-gtk |
Fedora | instalado | frontend e file chooser |
xdg-desktop-portal-gnome |
Fedora | instalado | portal preservado para GNOME |
jq, libnotify, stow |
Fedora | instalado | scripts, notificações e links |
O COPR escolhido é lionheartp/Hyprland. Ele fornece a pilha Hyprland para
Fedora 44 no mesmo repositório. Não habilite outro repositório de Hyprland em
paralelo.
| Pacote | Uso |
|---|---|
brightnessctl |
teclas de brilho em hardware com backlight compatível |
hyprsunset |
temperatura de cor; a configuração existe, mas não inicia sozinha |
blueman |
gerenciamento gráfico de Bluetooth |
wev |
diagnóstico de teclas e dispositivos de entrada |
Execute cada categoria separadamente. Os comandos DNF não usam confirmação automática.
sudo dnf copr enable lionheartp/HyprlandDê preferência aos repositórios oficiais quando eles também oferecerem o pacote. O valor padrão do Fedora é 99; o COPR fica com prioridade 100:
sudo dnf config-manager setopt 'copr:copr.fedorainfracloud.org:lionheartp:Hyprland.priority=100'Antes da instalação, confira os candidatos e envie a saída completa se alguma versão não resolver:
dnf repoquery --latest-limit=1 --qf '%{name} %{evr} %{arch} %{repoid}' hyprland uwsm hyprlock hypridle hyprpaper xdg-desktop-portal-hyprlandEste comando contém somente os pacotes ausentes no inventário inicial. A transação desativa dependências fracas porque o RPM do Hyprland recomenda Wofi, Brightnessctl, Hyprland Qt Utils e uma segunda entrada UWSM. Esta configuração usa Fuzzel, mantém Brightnessctl opcional e instala sua própria entrada UWSM versionada.
sudo dnf --setopt=install_weak_deps=False install hyprland uwsm hyprlock hypridle hyprpaper xdg-desktop-portal-hyprland waybar fuzzel mako cliphist grim slurp pavucontrol playerctl lxqt-policykit jetbrains-mono-fonts fontawesome-6-free-fontsPrimeiro simule a implantação:
cd /home/kp/dotfiles
./scripts/deploy-user.sh checkDepois crie os links individuais:
cd /home/kp/dotfiles
./scripts/deploy-user.sh deployO script aborta em caso de conflito. Ele não adota, move ou sobrescreve arquivos existentes.
Instale a entrada versionada em /usr/local/share, que tem precedência sobre
dados de pacotes e não altera as sessões do GNOME:
sudo install -Dm0644 /home/kp/dotfiles/system/wayland-sessions/hyprland-dotfiles.desktop /usr/local/share/wayland-sessions/hyprland-dotfiles.desktopNão há serviço global para habilitar. UWSM cria a sessão systemd do usuário. Waybar, Mako, Hyprpaper, Hypridle, o agente Polkit e os watchers do clipboard iniciam dentro dessa sessão. Os portais iniciam por D-Bus.
cd /home/kp/dotfiles
./scripts/verify.sh --deployed --runtimetest -f /usr/local/share/wayland-sessions/hyprland-dotfiles.desktop
ls -l /usr/local/share/wayland-sessions/hyprland-dotfiles.desktopfind /home/kp/dotfiles -user root -printO último comando não deve imprimir nada.
- Encerre a sessão do GNOME.
- No GDM, abra o seletor de sessões.
- Escolha
Hyprland (UWSM, dotfiles). - Entre normalmente.
GNOME continua disponível no mesmo seletor.
| Atalho | Ação |
|---|---|
Super+Return |
Kitty |
Super+Space |
Fuzzel |
Super+F |
Nautilus |
Super+V |
histórico do clipboard |
Super+Escape |
menu de sessão |
Super+Alt+L |
bloquear |
Super+W |
fechar janela |
Super+T |
alternar janela flutuante |
Super+M |
tela cheia |
Super+H/J/K/L ou setas |
mover foco |
Super+Shift+H/J/K/L ou setas |
mover janela |
Super+1..0 |
mudar de workspace |
Super+Shift+1..0 |
mover janela para workspace |
Super+S |
scratchpad |
Print |
capturar o monitor ativo |
Shift+Print |
capturar uma região |
Super+Print |
capturar a janela ativa |
As teclas de áudio chamam wpctl diretamente. As teclas de mídia chamam
playerctl. Capturas são copiadas para o clipboard e salvas em
~/Pictures/Screenshots.
hypr/ compositor, regras, atalhos, lock, idle, wallpaper e scripts
uwsm/ ambiente carregado antes da sessão
waybar/ barra e estilo
fuzzel/ launcher e menus
mako/ notificações
portal/ seleção de backends somente para o desktop Hyprland
kitty/ terminal e tema
theme/ paleta, licença e templates de geração
system/ fonte da entrada de sessão do GDM
scripts/ implantação, geração de temas e verificações
O arquivo hyprland.lua carrega apenas módulos relativos em modules/. As
configurações do Hyprpaper, Hyprlock e Hypridle usam apenas arquivos que chegam
a ~/.config/hypr pelos links deste repositório.
hyprland-portals.conf escolhe o backend Hyprland como padrão da sessão e o
backend GTK para file chooser, app chooser e impressão. Na sessão GNOME, o
frontend continua carregando gnome-portals.conf fornecido pelo Fedora. Nenhum
pacote ou arquivo do portal GNOME é removido.
theme/catppuccin-mocha.json é a fonte das cores. A paleta veio do projeto
Catppuccin e mantém sua licença MIT em theme/LICENSE-catppuccin.
Para regenerar os temas depois de editar a paleta:
cd /home/kp/dotfiles
./scripts/generate-themes.py
./scripts/generate-themes.py --checkO gerador produz os arquivos do Hyprland, Hyprlock, Waybar, Fuzzel, Mako e
Kitty. Ele não é chamado no login. O wallpaper é uma imagem abstrata original
gerada para esta configuração e está versionado em hypr/.config/hypr/assets.
Depois de atualizar o repositório:
cd /home/kp/dotfiles
./scripts/generate-themes.py --check
./scripts/deploy-user.sh restow
./scripts/verify.sh --deployed --runtimeRecarregue somente os componentes modificados:
hyprctl reload
pkill -SIGUSR2 waybar
makoctl reloadAlterações em uwsm/env*, permissões do Hyprland ou na entrada do GDM exigem
novo login. Não baixe temas durante a sessão e não copie configurações para
~/.config manualmente.
printf 'desktop=%s\nsession=%s\n' "$XDG_CURRENT_DESKTOP" "$XDG_SESSION_TYPE"
uwsm check is-active
hyprctl version
hyprctl configerrors
hyprctl monitors -j | jq '.[] | {name, width, height, refreshRate, scale}'systemctl --user --no-pager --failed
systemctl --user --no-pager status xdg-desktop-portal.service xdg-desktop-portal-hyprland.service
journalctl --user -b --no-pager -u xdg-desktop-portal.service -u xdg-desktop-portal-hyprland.servicewpctl status
notify-send 'Hyprland validation' 'Mako is receiving notifications'
printf 'clipboard-validation' | wl-copy
wl-pasteValide manualmente Fuzzel, o seletor de arquivos de um aplicativo Flatpak,
compartilhamento de tela, Pavucontrol, bloqueio, retorno do idle, menu Polkit e
os três modos de screenshot. O registro completo está em docs/validation.md.
cd /home/kp/dotfiles
./scripts/deploy-user.sh removesudo rm -f /usr/local/share/wayland-sessions/hyprland-dotfiles.desktopRevise a transação antes de confirmar:
sudo dnf remove hyprland uwsm hyprlock hypridle hyprpaper xdg-desktop-portal-hyprland waybar fuzzel mako cliphist grim slurp pavucontrol playerctl lxqt-policykit jetbrains-mono-fonts fontawesome-6-free-fontssudo dnf config-manager unsetopt 'copr:copr.fedorainfracloud.org:lionheartp:Hyprland.priority'sudo dnf copr remove lionheartp/HyprlandVoltar para main restaura o commit-base sem reescrever a branch de trabalho:
cd /home/kp/dotfiles
git switch main
git rev-parse HEADO último comando deve imprimir
2bc69b2becb3d7e3aefa554fa1a1cd26f3d4d1d7. O rollback não remove GNOME,
GDM, PipeWire, WirePlumber nem qualquer portal que já estava instalado.