Files and app logins move across by hand, so archiving and unpacking a home
directory isn't this repo's job any more. setup.sh installs the machine and
stops there.
Two things restore.sh used to cover, kept where they still matter: the
post-reboot `sudo flatpak update` that fetches the NVIDIA GL runtime (Flatpak
can only match it to a loaded driver, so it can't happen during setup), and the
notes on which dotfiles not to copy over from Fedora. The server-marvin mount is
now optional — press Enter at the prompt to skip it.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Bazzite answered git's password prompts from KDE Wallet via ksshaskpass, which
Ubuntu won't have. Build git's libsecret helper (Ubuntu ships it as source only)
and point credential.helper at it, falling back to a week-long credential cache
if the build isn't possible. Note in the README that the first Gitea push has to
re-enter the password, since keyrings aren't in the backup.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Replaces the Bazzite/BlueBuild image with plain Ubuntu. apt covers the system
and dev tools, Flathub the desktop apps, and three scripts do the rest:
backup.sh archives this machine's home to server-marvin and reads it back to
verify it; setup.sh builds a fresh 26.04 install (NVIDIA 595-open, Docker with
GPU access, Steam/Lutris, 27 Flatpaks, VS Code, Claude desktop, the Data drive
and marvin mounts); restore.sh unpacks the backup without the Fedora/KDE parts
that would fight Ubuntu.
The app list comes from a scan of the running machine. The 15 Flatpaks left
behind sit commented at the bottom of flatpaks.txt, and their data still rides
along in the backup. No Node or .NET on the host by choice — LudosData and
landingPage build in Docker.
Drops the BlueBuild recipe, the cosign key and the old dev-setup script. The
Bazzite setup stays in this history.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>