Ambiente
GNARUS é um desktop completo, pronto para uso, focado em Hyprland. A configuração do desktop vive no repositório gnarus e é empacotada como o pacote Arch Linux gnarus.
O pacote instala padrões somente leitura em /usr/share/gnarus e o helper opcional gnarus-setup em /usr/bin. Ele nunca escreve em $HOME.
Pacotes de componentes
Seção intitulada “Pacotes de componentes”O desktop é dividido em pacotes focados, todos construídos pelo gnarus-pkgbuild e publicados no mesmo repositório:
| Pacote | É dono de |
|---|---|
gnarus |
Configuração do desktop em /usr/share/gnarus e do helper opcional /usr/bin/gnarus-setup. |
gnarus-session |
Launchers de sessão /usr/bin/gnarus-session, /usr/bin/gnarus-start, /usr/bin/gnarus-tty e /usr/share/wayland-sessions/gnarus.desktop. |
gnarus-appearance |
Wallpapers compartilhados em /usr/share/backgrounds/gnarus e fontes empacotadas em /usr/share/fonts. |
gnarus-storage |
O módulo Waybar de armazenamento removível (binário, configuração e temas). |
gnarus-calendar |
O popup de calendário nativo da Waybar (binário, configuração e temas). |
gnarus-greeter |
A integração com o greeter greetd. |
Instalar gnarus puxa os demais pacotes de componentes como dependências.
Composição do desktop
Seção intitulada “Composição do desktop”| Área | Arquivos | Função |
|---|---|---|
| Hyprland | config/hypr/hyprland.lua |
Configuração principal do compositor, atalhos, workspaces, regras e inicialização. |
| Setup | bin/gnarus-setup |
Helper opcional que copia os padrões empacotados para o diretório de configuração do usuário. |
| Waybar | config/waybar/config.jsonc, config/waybar/style.css |
Barra superior com workspaces, mídia, janela, tray, estado do sistema e módulos GNARUS. |
| Sidebar | config/quickshell/sidebar-right/ |
Painel Quickshell para ajustes, sistema, calendário, rede, volume, brilho e energia. |
| Launchers | config/rofi/, config/wofi/ |
Lançadores, menus e superfícies de comando com tema. |
| Terminal e TUI | config/kitty/, config/yazi/, config/superfile/, config/btop/, config/bottom/ |
Terminal, gerenciadores de arquivos e monitores do sistema. |
| Notificações e logout | config/dunst/, config/wlogout/ |
Estilo de notificações e interface de energia/logout. |
Fluxo de sessão
Seção intitulada “Fluxo de sessão”gnarus-session é o ponto de entrada do display manager. Ele prepara o ambiente e executa gnarus-start; não copia configuração para $HOME.
gnarus-start inicia o Hyprland com a configuração GNARUS apropriada. Ele usa $XDG_CONFIG_HOME/hypr/hyprland.lua quando esse override do usuário existe, caso contrário o empacotado /usr/share/gnarus/hypr/hyprland.lua, e redefine a identidade da sessão gráfica para Hyprland para que o ambiente do greeter do display manager não seja herdado.
gnarus-tty oferece um caminho manual para iniciar o GNARUS em sistemas sem display manager. Ele registra uma sessão logind, inicia o session bus do D-Bus, define o ambiente Wayland/XDG e inicia a mesma sessão.
Modelo de configuração
Seção intitulada “Modelo de configuração”O GNARUS não copia dotfiles para $HOME antes de o desktop poder iniciar. Os entrypoints de runtime usam esta prioridade:
$XDG_CONFIG_HOME/<app> -> /usr/share/gnarus/<app> -> defaults upstreamA sessão adiciona /usr/share/gnarus ao início de $XDG_CONFIG_DIRS preservando diretórios existentes como /etc/xdg, então aplicativos que suportam configuração de sistema XDG descobrem os padrões GNARUS automaticamente.
gnarus-setup é opcional. Use-o apenas quando quiser copiar os padrões empacotados para ~/.config para personalizar:
| Modo | Comportamento |
|---|---|
--copy <app> |
Copia /usr/share/gnarus/<app> para ~/.config/<app>. |
--copy-all |
Copia todos os padrões empacotados. |
--force |
Faz backup do destino existente como ~/.config/<app>.bak-<timestamp> antes de copiar. |
--dry-run |
Mostra as ações sem alterar arquivos. |
--repair |
Alias de compatibilidade para --copy gnarus. |
Depois de copiados, os arquivos em $XDG_CONFIG_HOME são overrides do usuário e upgrades de pacote nunca os substituem.
Estado de runtime fica em arquivos pequenos em ~/.config/gnarus/, como .active-theme, .accent-color e .weather-location. O arquivo opcional profile habilita o auto-start por TTY.
Hyprland
Seção intitulada “Hyprland”O arquivo principal do compositor é config/hypr/hyprland.lua. Ele carrega tema ativo, cor de destaque e espaçamentos antes de definir a sessão.
Padrões importantes:
SUPERé o modificador principal.- O layout é
dwindle, com grupos habilitados. - O teclado usa
br,uscomgrp:alt_shift_toggle. - Firefox roda nativamente em Wayland por
MOZ_ENABLE_WAYLAND=1. - Apps Qt usam o tema configurado e o estilo Qt do Hyprland quando disponível.
- XWayland continua habilitado para compatibilidade.
Scripts auxiliares do Hyprland ficam em config/hypr/scripts/ e cobrem screenshots, menu de energia, seleção de wallpaper, cheatsheets, inicialização da Waybar e âncora do menu do GNARUS Storage.
GNARUS usa Waybar como barra superior principal. O layout padrão agrupa workspaces e mídia à esquerda, contexto da janela no centro e módulos do sistema à direita.
Módulos importantes:
hyprland/workspacespara navegação de workspaces.mprispara mídia.network,memory,cpu, scripts de temperatura CPU/GPU e perfil de energia.custom/storage, alimentado porgnarus-storage watch.clock#date, que alterna o popup de calendário nativo (gnarus-calendar) ao clicar.pulseaudio#inputepulseaudio#outputcom clique e scroll.traypara aplicativos com ícones de status.custom/settings, que alterna a sidebar Quickshell.
Scripts de detalhes do sistema ficam em config/waybar/scripts/sysinfo/; a visão auxiliar é configurada por config/waybar/sysinfo.jsonc e config/waybar/sysinfo.css.
Sidebar Quickshell
Seção intitulada “Sidebar Quickshell”A sidebar direita vive em config/quickshell/sidebar-right. Ela é uma interface QML para ações repetidas do desktop.
Ela inclui cards para:
- aparência e temas;
- brilho e volume;
- calendário;
- layout do teclado;
- rede;
- notificações;
- energia;
- espaçamento dos workspaces;
- informações do sistema;
- clima.
O botão de configurações da Waybar alterna essa sidebar pelo script de taskbar do GNARUS.
GNARUS entrega oito famílias de tema:
gnarus-darkgnarus-dark-floatgnarus-dark-silvergnarus-dark-silver-floatgnarus-lightgnarus-light-floatgnarus-slategnarus-slate-float
Os temas são espelhados entre Hyprland, Waybar, Rofi, Dunst, Kitty, Btop, Bottom, Wlogout, Yazi, Superfile, Snappy Switcher e esquemas de cor Qt. O tema ativo é aplicado por config/gnarus/sh/theme-switch.sh.
A cor de destaque é controlada separadamente por config/gnarus/sh/accent-switch.sh, então o usuário troca o accent sem substituir a família de tema.
Módulos compartilhados de shell ficam em config/gnarus/sh/ e são carregados pelo bootstrap.sh, que expõe helpers de log, caminhos, notificações, JSON e Hyprland para os scripts.
Wallpapers e fontes empacotadas são de propriedade do pacote gnarus-appearance e referenciados a partir de caminhos de sistema como /usr/share/backgrounds/gnarus/.
Caminhos empacotados
Seção intitulada “Caminhos empacotados”O pacote gnarus instala:
/usr/bin/gnarus-setup/usr/share/gnarus/O pacote gnarus-session instala os entrypoints de sessão:
/usr/bin/gnarus-session/usr/bin/gnarus-start/usr/bin/gnarus-tty/usr/share/wayland-sessions/gnarus.desktopgnarus-storage e gnarus-calendar são empacotados separadamente e instalam os próprios binários e defaults de sistema. Veja Apps oficiais, Calendário e Armazenamento Removível.