Drop the backup and restore scripts: setup.sh only

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>
This commit is contained in:
2026-09-23 16:01:01 -04:00
co-authored by Claude Opus 5
parent a4156dd79d
commit 8b26c5d693
5 changed files with 90 additions and 314 deletions
+21 -12
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# Fresh Ubuntu 26.04 LTS -> my desktop, in one pass. Run as your user; it sudos as needed.
# Safe to re-run: each step checks before it changes anything. Reboot when it finishes,
# then run scripts/restore.sh.
# then run `sudo flatpak update` once so the Flatpak apps get the NVIDIA GL runtime.
set -euo pipefail
REPO="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
@@ -9,7 +9,7 @@ REPO="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
# Second NVMe (970 EVO Plus, label "Data"): SteamLibrary + emulator files. Never formatted.
DATA_UUID=29db4bd3-b743-417d-aa39-4da4acc9df3f
DATA_MNT=/mnt/data
# server-marvin SMB share — the backup lives here. \040 is fstab's escaped space.
# server-marvin SMB share, mounted if you give it credentials. \040 is fstab's escaped space.
MARVIN_SHARE='//192.168.1.193/Personal\040Files\040-\040ckoch'
MARVIN_MNT=/mnt/server-marvin-personal
MARVIN_CREDS=/etc/samba/credentials-marvin
@@ -229,14 +229,17 @@ fi
sudo blkid -U "$DATA_UUID" >/dev/null || warn "Data drive ($DATA_UUID) not found — fstab entry is nofail, so boot is fine"
if [[ ! -f $MARVIN_CREDS ]]; then
read -rp "server-marvin SMB username: " smb_user
read -rsp "server-marvin SMB password: " smb_pass; echo
sudo install -d -m 0755 /etc/samba
printf 'username=%s\npassword=%s\n' "$smb_user" "$smb_pass" \
| sudo install -m 600 /dev/stdin "$MARVIN_CREDS"
unset smb_pass
echo "server-marvin SMB share — press Enter to skip mounting it."
read -rp " username: " smb_user
if [[ -n $smb_user ]]; then
read -rsp " password: " smb_pass; echo
sudo install -d -m 0755 /etc/samba
printf 'username=%s\npassword=%s\n' "$smb_user" "$smb_pass" \
| sudo install -m 600 /dev/stdin "$MARVIN_CREDS"
unset smb_pass
fi
fi
if ! grep -q "$MARVIN_MNT" /etc/fstab; then
if [[ -f $MARVIN_CREDS ]] && ! grep -q "$MARVIN_MNT" /etc/fstab; then
echo "$MARVIN_SHARE $MARVIN_MNT cifs credentials=$MARVIN_CREDS,uid=$(id -u),gid=$(id -g),iocharset=utf8,vers=3.0,x-systemd.automount,_netdev,nofail 0 0" \
| sudo tee -a /etc/fstab >/dev/null
fi
@@ -249,7 +252,13 @@ step "Small carry-overs from Bazzite"
echo 'options bluetooth disable_ertm=1' | sudo tee /etc/modprobe.d/bluetooth-xbox.conf >/dev/null
step "Done"
cat <<EOF
Reboot now (NVIDIA driver + docker/kvm groups take effect), then:
scripts/restore.sh
cat <<'EOF'
Reboot now — the NVIDIA driver and your docker/kvm groups only take effect after that.
Then, once:
sudo flatpak update # pulls the NVIDIA GL runtime the Flatpak apps need.
# Skip it and apps render in software until the daily
# timer catches up ~10 minutes after boot.
Then sign in to things, and add /mnt/data/SteamLibrary in Steam > Settings > Storage.
EOF