ghcr.io/ublue-os/bluefin:stablefornece Fedora, bootc, GNOME, identidade, common, kernel, hardware, energia, TuneD/PPD, thermald e ZRAM.- A camada local adiciona apenas ferramentas de segurança, produtividade,
Podman/Quadlet, Distrobox, QEMU/KVM local, libvirt modular, VS Code, Niri
opcional,
jutsue documentação. flatpak-preinstall.service, herdado do Bluefin, consome as declarações nativa e local em/usr/share/flatpak/preinstall.dno primeiro boot.
O Finpilot é referência para contexto separado, scripts numerados, modo
estrito, limpeza e validações. Seus estágios common e brew não são copiados:
ambos já foram compostos pelo Bluefin pai. A camada Akatsuki preserva as
declarações Flatpak herdadas, incluindo Bazaar, e acrescenta sua lista de
quatro aplicativos.
O projeto aplica somente wallpaper, GDM e ícones Akatsuki. Plymouth e Niri
permanecem sem customização local. O projeto não substitui os-release,
hostname nem a identidade técnica Bluefin.
Também não instala política própria de energia, não mascara TuneD/PPD, não fornece
ZRAM própria e não define sysctls vm.*. Overrides locais anteriores que
desligavam economia de Wi-Fi e áudio foram removidos. O perfil Lean retira
impressão, modem, Avahi, Thunderbolt userspace, smart card, ZFS, câmera virtual,
idiomas CJK e backends remotos de VM. geoclue2 e flite permanecem somente
por dependência rígida do GNOME/WebKit; o serviço GeoClue é mascarado.
O módulo Dracut pcsc é retirado da configuração herdada, preservando
FIDO2/TPM/PKCS#11 e futuras atualizações de kernel sem pcsc-lite.
Virtualização local preserva KVM, QCOW2, VirtIO, SPICE, PipeWire, NAT,
virtiofsd, OVMF e TPM virtual. Os metapacotes generalistas qemu-kvm e
libvirt-daemon-kvm são substituídos por componentes explícitos.
O inventário da imagem anterior confirmou tuned, tuned-ppd, thermald,
zram-generator, switcheroo-control e systemd-oomd. Após cada rebuild, as
invariantes confirmam novamente pacotes, units e arquivos upstream; hardware e
temperatura ainda exigem validação na máquina real.
Bluefin usa o canal móvel stable. O build deve usar --pull=always; o digest
resolvido pertence ao registro de cada build e deve ser guardado para auditoria
e rollback. O projeto não executa upgrade parcial sobre esse digest. Pacotes
adicionados localmente vêm do Fedora e têm vendor validado, exceto o VS Code
oficial.
Seu script valida a fingerprint Microsoft
BC52 8686 B50D 79E3 39D3 721C EB3E 94AD BE12 29CF, confirma o vendor e remove
o repositório transitório.
A integração Homebrew existente no Bluefin não é usada para instalar
dependências obrigatórias deste perfil. Seu payload permanece herdado, mas
bootstrap, preinstall e timers são mascarados quando presentes. Toolchains e
serviços de projeto devem preferir containers. O banner opcional umotd
continua removido para reduzir ruído e superfície de dependências.
O sistema é atualizado como imagem por bootc. Timers bootc/rpm-ostree,
uupd.timer e o gatilho uupd em AC são mascarados; check, aplicação e reboot
são explícitos. /etc e /var seguem a semântica bootc; HOME, Flatpaks,
Distroboxes e volumes possuem ciclos separados. Machine-id, random seed,
hostname local e host keys não pertencem à camada.
A ISO interativa é um artefato derivado, não uma segunda imagem de sistema.
Titanoboa extrai a imagem OCI publicada, adiciona somente o ambiente live e o
Anaconda, incorpora o mesmo payload em containers-storage, gera o initramfs
live e monta a mídia UEFI/GRUB sobre SquashFS. O hook em
iso/configure-anaconda.sh configura Btrfs, copia os Flatpaks para o deployment
e registra no sistema instalado a mesma referência GHCR usada no build.
O namespace do payload é fixo em ghcr.io/lnx89f/akatsuki-linux; o helper
resolve a tag antes da composição e fornece o payload ao Titanoboa por digest.
Metadados
image-info.json herdados do Bluefin não são usados para escolher o sistema a
instalar. O workflow de ISO é exclusivamente manual e produz apenas um
artefato de teste. Build da imagem, assinatura do payload, build da ISO,
validação e promoção são decisões separadas.
O conteúdo de bluefin:stable, nomes de pacotes e units pode mudar. O build
deve falhar em vez de esconder incompatibilidades. Não copie novamente
projectbluefin/common sobre a imagem Bluefin e não replique scripts internos
do upstream; isso criaria duas fontes de verdade.