🏡 index : quine-global-labs/layer-wizard.git

Layer Wizard

A GUI installer wizard for permanently layering an RPM package onto a bootc/image-based (read-only root) Linux system via rpm-ostree install, with a guided reboot step and a one-click rollback if the result looks wrong.

Built for Universal Blue / Fedora bootc systems, where plain dnf install refuses to run (the root filesystem is read-only) and the persistent mechanism is rpm-ostree install <pkg>, which stages a new deployment that only takes effect after a reboot.

What it does

  1. Welcome — shows the currently booted version/image.
  2. Package — enter a package name; "Check" confirms it resolves (dnf repoquery) before anything privileged happens.
  3. Confirm — review the package and what's about to happen.
  4. Apply — runs pkexec rpm-ostree install -y <package>, with the PolicyKit password prompt and a live streamed log. On success, offers Reboot Now / Reboot Later.
  5. After rebooting, the app launches itself automatically and asks: "Is everything working correctly?" — Yes, keep this update, or No, something's wrong — roll back, which runs pkexec bootc rollback --apply (reboots immediately into the previous deployment).

How the post-reboot check works

This system has no greenboot and no automated bad-boot detection (systemd-bless-boot.service exists but isn't wired up to anything here) — so the rollback offer is self-reported, not automatic. Two pieces make that work:

Project layout

Privilege escalation follows the same pattern as the sibling dnf-package-store app: pkexec through the desktop PolicyKit agent, with stdout/stderr streamed line-by-line into the UI.

Building

flutter build linux

Produces build/linux/x64/release/bundle/layer_wizard.