Primeiro sprint técnico — Do repositório à primeira sessão Wayland
Não é tarefa executada. Instruções para um agente de código iniciar o Flowral Linux de forma incremental, sem tocar em discos reais inadvertidamente.
Primeiro loop visual, antes do build de ISO
Provisionar workspace Rust+Slint de prova, viewer/live-preview, Slint MCP em localhost e tarefas just de check/preview; registrar hot reload real e screenshot de botão interativo. O laboratório VM QEMU/KVM + libvirt deve ser versionado como procedimento antes de alterar qualquer disco. Seguir live preview e toolchain.
Objetivo
Gerar um primeiro boot de Void Linux glibc + Swirl + WezTerm + Fish, com rede e áudio funcionais, configuração básica de bordas e testes de consumo. Tema e Central de Controle entram em PRs seguintes.
Entradas
- Repositório atual.
- Máquina de desenvolvimento Linux com ambiente de build e VM KVM/QEMU.
- Documentação oficial Void/Swirl fixada por commit/data.
- Hardware Lenovo ThinkPad E430 disponível somente para validação supervisionada.
- Credenciais necessárias para repositórios fornecidas pelo usuário; nunca pedir senhas para escrever em arquivos do repositório.
Sequência
1. Descobrir upstream e versões
- Registrar hash/commit exato de Swirl e suas dependências.
- Verificar compatibilidade wlroots, Sway IPC, renderer e opção
sd-bus-provider; não assumir que opção libsystemd do README funciona em Void sem systemd. - Descobrir nome real dos pacotes no XBPS; não inventar apt/pacman equivalentes.
- Capturar license do Slint, Swirl e fontes/temas escolhidos; reportar restrições de redistribuição.
- Criar
docs/implementation/compatibilidade.mdcontendo resultados verificados.
2. Provisionar base em VM descartável
- Void glibc, runit, rede, seat/session, D-Bus, PipeWire/WirePlumber, driver Mesa e utilitários de diagnóstico.
- Preparar TTY de recuperação e console serial QEMU quando possível.
- Não instalar Calamares ainda; foco em boot.
- Confirmar que
$XDG_RUNTIME_DIRtem owner/permissões corretas.
3. Compilar e iniciar Swirl
- Criar recipe XBPS local do Swirl, ou processo de compilação registrado para protótipo.
- Documentar patches locais e erros, especialmente dependência opcional systemd.
- Testar keyboard, mouse, scroll, resize de tiled/floating e IPC com
swaymsg. - Configurá-lo com borda de foco e sem título do compositor.
- Garantir TTY e terminal como fallback.
4. UX mínima
- WezTerm inicia via tecla e usa decoração sem titlebar testada.
- Fish como shell interativo do usuário; scripts continuam em
/bin/sh. - Fuzzel abre os atalhos instalados, Mako mostra notificações e swAYlock trava a sessão.
- PCManFM inicia e abre arquivos MIME conforme ambiente.
- Flatpak/AppImage/agents não precisam ser instalados para a primeira validação.
5. Performance baseline
- Medir RAM
desktop-idlecom todos os serviços essenciais funcionais. - Registrar PSS por processo, disponibilidade, versões e GPU ativa.
- Fazer comparativo inicial com/sem compositor, e capturar regressões após adição de GUI.
- Se não alcançar 300 MiB, apresentar dados, não desativar serviços fundamentais artificialmente.
Saídas do PR
distro/com script reproduzível e seguro, sem operação no disco host como padrão.packages/com manifesto das versões verificadas.tests/com smoke commands/artefatos redigidos.- Documento de compatibilidade, logs relevantes e relatório RAM.
- Lista de bloqueios técnicos e fallback.
Definition of done
- Boot VM em sessão Swirl e sair corretamente para TTY.
- WezTerm/Fish funcional, Fuzzel e PCManFM abrem, rede e áudio operam.
- Controle de janelas e resize funciona, sem titlebar externa.
- Sem processos inexplicados permanentes.
- Testes e versões documentados, sem dados sensíveis.
- Nenhum script de instalação destrutivo executado no ThinkPad E430.