Catálogo de software — Flowral Linux
Regra: inclusão no catálogo ≠ pacote já disponível/compilável. Para cada software, detectar arquitetura, licença, caminho de instalação, dependências glibc/Wayland/runit e direito de redistribuição. Em projetos proprietários pode ser necessário installer no primeiro uso, não empacotar binário na ISO.
Perfis de distribuição
- core: Void glibc, Swirl, sessão, rede, audio, power, libinput e recuperação; pode ser instalado offline com pacote suficiente.
- desktop: core + WezTerm, Fish, PCManFM, Fuzzel/swaybar/Mako provisórios, Lock, Center/Theme Manager.
- developer: desktop + Git/gh, Neovim, ferramentas de build, Podman, agentes CLI/TUI e providers.
- complete: developer + aplicativos criativos/navegador/torrent e Desktop agents; ISO pode incluir metapacotes e primeiro uso baixar softwares não redistribuíveis.
- Os perfis são seleção de pacotes, não serviços adicionais em autostart.
Infraestrutura
| Software | Função | Estado | Executar continuamente? |
|---|---|---|---|
| Void x86_64 glibc, runit, XBPS | SO, init, pacotes | Escolhido | Serviços mínimos |
| Swirl | Compositor Wayland scrolling | Escolhido, compilar/testar | Sim |
| turnstile + seatd | sessão/seat | Proposto, validar | Sim |
| greetd + tuigreet | login | Proposto | Sim, conforme sessão |
| NetworkManager | Wi-Fi/Ethernet | Proposto | Sim conforme device |
| BlueZ | Bluetooth | Proposto | Conforme HW/uso |
| PipeWire + WirePlumber | áudio | Proposto | Conforme áudio |
| TLP, acpid, UPower | bateria/ACPI | Proposto, checar conflitos | Conforme requisito |
| xdg-desktop-portal-gtk/wlr | portal file picker/screenshare | Proposto | On-demand/DBus |
| polkit + agente | elevação pontual | Proposto | Sob demanda |
| XWayland | compatibilidade X11 | Recomendado | Quando necessário |
Experiência gráfica
| Software | Papel | Estado |
|---|---|---|
| WezTerm | terminal principal | Escolhido |
| Fish | shell interativo | Escolhido |
| PCManFM | file manager | Escolhido (customizar) |
| swaybar | status bar provisório | Proposto |
| Fuzzel | launcher provisório | Proposto |
| Mako | notifications | Proposto |
| swaylock + swayidle | lock/idle | Proposto |
| swaybg | wallpaper | Proposto |
| grim/slurp/wl-clipboard | screenshots/clipboard | Proposto |
| wlr-randr/kanshi | display profile | Condicional à compatibilidade Swirl |
| Flowral Themes / Control | apps Rust+Slint | Escolhidos para desenvolvimento |
| Flowral Agents | chat/ACP Rust+Slint | Escolhido para desenvolvimento |
Ferramentas CLI / TUI solicitadas
| Nome | Uso | Política de instalação |
|---|---|---|
| OpenCode V2+ | agente de código, ACP, API | release/instalador oficial, verificar versão |
| Claude Code | agente de código | instalador oficial, credenciais no primeiro uso |
Google Antigravity / agy |
CLI de agente | verificar distribuição/termos e runtime |
| OpenAI Codex CLI | agente de código | release/instalador oficial |
| Hermes Agent | agente de IA | instalador upstream validado |
| 9Router | gateway/routing | npm ou release validada, processo sob demanda |
Git + GitHub CLI (gh) |
VCS, PRs/issues | XBPS se disponível |
| Vercel CLI | implantação | npm/release oficial, sob demanda |
| Podman | containers rootless | XBPS; sem daemon central sempre ativo |
| Herdr | agente multipainel | binário/release upstream; verificar nomenclatura |
| Neovim | editor TUI | XBPS + configuração Flowral |
| fzf, ripgrep, fd, jq | utilitários | preferência por XBPS |
| Fish | shell com autossugestão | XBPS |
Todos os agentes precisam de login/API conforme provedor; não criar contas automaticamente, nem afirmar gratuidade irrestrita.
Aplicativos gráficos solicitados
| App | Origem/observação | Inicialização |
|---|---|---|
| ArtCraft Launcher | identificar release correta, licença e AppImage/tar | sob demanda |
| Transmission | preferir GUI Qt, sem daemon permanente | sob demanda |
| LibreWolf | AppImage/Flatpak ou pacote verificado | sob demanda |
| Drift video editor | upstream release compatível (AppImage/Flatpak) | sob demanda |
| OpenCode Desktop V2 | release Linux oficial | sob demanda |
Atenção: nomes genéricos e projetos jovens devem ser ligados a repositório upstream exato no manifesto antes de download; validar checksums/assinaturas.
Manifesto reprodutível futuro
# packages/catalog.toml (EXEMPLO DE SCHEMA)
[[package]]
id = "opencode"
origin = "upstream"
channel = "stable"
min_version = "2.0.0"
startup = "on-demand"
redistribution = "verify"
[[package]]
id = "wezterm"
origin = "void-or-upstream"
startup = "on-demand"
Para cada app: id, upstream_url, versão pinada, hash, licença, método, distro profile, autostart policy, rollback, installed_by, tested_arch, tested_hardware, ações de update e uninstall. Evitar curl|sh sem revisão e pin.
Política de instalação
Nunca adicionar várias fontes do mesmo app ao mesmo tempo. Preferência: repositório Void oficial → XBPS local → release upstream assinada → Flatpak/AppImage conforme compatibilidade. Mostrar proveniência no Control Center e separar sistema vs usuário.