Skip to content

Pre-install system Flatpaks in live ISO and copy to installed system #78

@hanthor

Description

@hanthor

Summary

Two installer quality-of-life improvements that should land together:

1. Hostname configuration

The installer should let the user set the system hostname before installation begins, similar to how other distro installers work. The hostname should be applied to the installed root (not the live session).

Implementation:

  • Add the existing VanillaHostname view to the install flow in window.py (between disk selection and confirm)
  • In install mode, hostname.py's finish() stores install_hostname on the window instead of calling backend.set_hostname() (which would set the live system hostname)
  • Show the chosen hostname on the confirmation screen
  • Pass hostname as an argument to install-to-disk, which writes it to /etc/hostname in the installed root after bootc install completes

2. Pre-install system Flatpaks

During installation, Flatpaks are not available on the freshly installed system until the user logs in and they are pulled from the internet. We should pre-install the system Flatpaks into the live ISO's Flatpak installation, then copy them over to the installed system during the install-to-disk process — similar to how bluefin-lts does it in the bootc-isos repo.

Implementation:

  • Add flatpak install calls for desired system apps in live-iso/common/src/build.sh at build time
  • In tunaos_first_setup/scripts/install-to-disk: after bootc install to-disk completes, mount the installed root and rsync/cp -a /var/lib/flatpak into it
  • For the fast path (bootc install to-disk --wipe) the disk needs to be re-mounted after install to do this copy
  • The bluefin-lts PR to the bootc-isos repo is the reference implementation for this approach
  • Flatpaks to include: should match the system Flatpaks defined in the tunaOS image recipes (e.g. image.toml/Containerfiles)

Related files

  • tuna-os/first-setup: window.py, views/hostname.py, views/install_confirm.py, views/install_progress.py, scripts/install-to-disk
  • live-iso/common/src/build.sh (Flatpak pre-install)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions