diff --git a/.claude/skills/cachyos-vm-testing/SKILL.md b/.claude/skills/cachyos-vm-testing/SKILL.md index 1870e0f..2a5fa0a 100644 --- a/.claude/skills/cachyos-vm-testing/SKILL.md +++ b/.claude/skills/cachyos-vm-testing/SKILL.md @@ -1,11 +1,11 @@ --- name: cachyos-vm-testing -description: Use when testing Steamify CachyOS (repo steamify-cachyos, setup-gamescope-boot.sh) changes in the CachyOS QEMU test VM - starting/stopping the VM, restoring snapshots, running the wizard over SSH with scripted menu input, checking each component's state, reboot checks and screenshots. +description: Use when testing Steamify CachyOS (repo steamify-cachyos, steamify.sh) changes in the CachyOS QEMU test VM - starting/stopping the VM, restoring snapshots, running the wizard over SSH with scripted menu input, checking each component's state, reboot checks and screenshots. --- # Testing Steamify CachyOS in the CachyOS VM -The wizard (`setup-gamescope-boot.sh` + `lib/*.sh`) opens a menu that detects +The wizard (`steamify.sh` + `lib/*.sh`) opens a menu that detects which components are on and toggles them to match the user's choice. Menu order: 1. SteamOS conversion (boot into gaming mode via autologin, Return to Gaming Mode shortcut, Steam desktop autostart) @@ -88,7 +88,7 @@ sudoers rule for the test user. ## Mounting the project repo The mount is lost on every reboot (unless the fstab line below was added). -Without it the wizard fails with `/mnt/setup-gamescope-boot.sh: No such file +Without it the wizard fails with `/mnt/steamify.sh: No such file or directory`, which is easy to miss in filtered output. Remount after each reboot. The repo (`REPO`, default `~/projects/cachyos-gamescope-boot`) is shared @@ -134,7 +134,7 @@ guest). Manually, in the guest: ```bash export XDG_RUNTIME_DIR=/run/user/1000 WAYLAND_DISPLAY=wayland-0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus -printf '\ny\nn\n' | /mnt/setup-gamescope-boot.sh +printf '\ny\nn\n' | /mnt/steamify.sh ``` Menu input: a number toggles a component, an empty line continues, `a` @@ -232,7 +232,7 @@ differs from Valve's newest. Fake an older one with the environment through). fwupd correctly refuses the firmware in the VM ("not for this machine's hardware"), so walk the whole flow with `WIZARD_BIOS_DRY_RUN=1` (skips only that check, never flashes). Scripted: -`printf '6\n\ny\ny\nUPDATE\n\nq\n' | WIZARD_BIOS_DRY_RUN=1 /mnt/setup-gamescope-boot.sh`. +`printf '6\n\ny\ny\nUPDATE\n\nq\n' | WIZARD_BIOS_DRY_RUN=1 /mnt/steamify.sh`. The wizard loops back to the menu after every run (Enter, or `m`/`r` when a restart is needed) until `q`; scripted input that runs out ends it like `q`. @@ -267,7 +267,7 @@ them with `systemd-run --user `. - The guest's `/tmp` is cleared on reboot; keep baselines elsewhere. - The fake Fremont DMI makes leds-valve load 17 LED nodes, but there is no real hardware. - shellcheck: `sudo pacman -S shellcheck`, then in `/mnt`: - `shellcheck -S warning -x setup-gamescope-boot.sh lib/*.sh` + `shellcheck -S warning -x steamify.sh lib/*.sh` (SC2154/SC2034 cross-file warnings are false positives). - This repo's `.gitignore` is an allowlist: it ignores everything and un-ignores only the tracked scripts/docs. Add any new tracked file to it diff --git a/CHANGELOG.md b/CHANGELOG.md index 4366329..6fc0ac1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,10 +30,12 @@ Watchable test runs and the lessons from testing cachyos-gamescope-boot 0.7.0 version (SMBIOS type 0), so the wizard offers the update. - Skill: testing the BIOS item with `WIZARD_BIOS_DRY_RUN=1`, and the wizard's menu loop. -- **docs: Renamed to steamify-cachyos-dev, for Steamify CachyOS** +- `c6abfd2` **docs: Renamed to steamify-cachyos-dev, for Steamify CachyOS** - README and skill point to `github.com/theupriser/steamify-cachyos`; the local clone's default path (`REPO`) and the guest's state directory keep their old names. +- **chore: The wizard's script is now steamify.sh** + - `vmrun.sh`, `vmwatch.sh`, the skill and the README run `/mnt/steamify.sh`. ## 0.1.1 - 2026-09-23 diff --git a/run.ps1 b/run.ps1 index 7a18a25..642a212 100644 --- a/run.ps1 +++ b/run.ps1 @@ -1,4 +1,4 @@ -# CachyOS test VM for setup-gamescope-boot.sh -- Windows version. +# CachyOS test VM for steamify.sh -- Windows version. # .\run.ps1 [-Install] # Needs QEMU for Windows (https://qemu.weilnetz.de/w64/) and the Windows # feature "Windows Hypervisor Platform" (for -accel whpx). diff --git a/run.sh b/run.sh index aa9efaa..ee96192 100755 --- a/run.sh +++ b/run.sh @@ -1,5 +1,5 @@ #!/bin/bash -# CachyOS test VM for setup-gamescope-boot.sh. +# CachyOS test VM for steamify.sh. # [REPO=/path/to/cachyos-gamescope-boot] ./run.sh [install] [--nvidia] [--vulkan] [--fremont] # install boot the installer ISO # --nvidia render the guest's virtio-gpu (virgl) on the host NVIDIA dGPU diff --git a/scripts/vmrun.sh b/scripts/vmrun.sh index 5e8f37f..39393a1 100755 --- a/scripts/vmrun.sh +++ b/scripts/vmrun.sh @@ -15,7 +15,7 @@ GUEST_UID="${GUEST_UID:-1000}" export XDG_RUNTIME_DIR=/run/user/$uid WAYLAND_DISPLAY=wayland-0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus log=/tmp/wizard.log # shellcheck disable=SC2059 -printf "$input" | "$repo/setup-gamescope-boot.sh" > "$log" 2>&1; echo "exit=$?" >> "$log" +printf "$input" | "$repo/steamify.sh" > "$log" 2>&1; echo "exit=$?" >> "$log" cat "$log" REMOTE } | vm_ssh bash -s 2>&1 | sed 's/\x1b\[[0-9;]*m//g' diff --git a/scripts/vmwatch.sh b/scripts/vmwatch.sh index 22d71ca..22273ba 100755 --- a/scripts/vmwatch.sh +++ b/scripts/vmwatch.sh @@ -13,13 +13,13 @@ label="${2:-Running the wizard}" { printf 'input=%q label=%q repo=%q uid=%q wait=%q\n' "$input" "$label" "${GUEST_REPO:-/mnt}" \ "${GUEST_UID:-1000}" "${WAIT:-1800}"; cat << 'REMOTE' export XDG_RUNTIME_DIR=/run/user/$uid DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus -[ -x "$repo/setup-gamescope-boot.sh" ] || { echo "$repo/setup-gamescope-boot.sh missing: mount the repo (lost after a reboot)" >&2; exit 1; } +[ -x "$repo/steamify.sh" ] || { echo "$repo/steamify.sh missing: mount the repo (lost after a reboot)" >&2; exit 1; } rm -f /tmp/wizard.done { echo '#!/bin/bash' printf 'echo %q; echo %q; sleep 3\n' ">>> $label" ">>> menu input: $input" # shellcheck disable=SC2016 - printf 'printf %q | %q 2>&1 | tee /tmp/wizard.log\n' "$input" "$repo/setup-gamescope-boot.sh" + printf 'printf %q | %q 2>&1 | tee /tmp/wizard.log\n' "$input" "$repo/steamify.sh" echo 'touch /tmp/wizard.done' } > /tmp/vmwatch-run.sh chmod +x /tmp/vmwatch-run.sh