Duration: 1 week
Goal: Catch showstopper bugs in safe environment
Duration: 2-3 weeks
Goal: Validate GPU, power management, daily workflows
Duration: Ongoing
Goal: Full production use on main workstation
- VirtualBox or QEMU installed
- 20GB disk space
- Built ISO in
out/
CPU: 4 cores
RAM: 8GB
Disk: 50GB (dynamic)
Network: NAT
Display: 3D acceleration enabled
-
./tools/kiwi-build.shcompletes - ISO exists in
out/ - ISO size < 3GB
- ISO boots in VM
- KDE Live environment loads
- Installer launches
- LUKS encryption works
- Installation completes
- Boots to SDDM login
-
geckoforge-firstboot.serviceruns -
geckoforge-nix.serviceruns - Nix installed:
nix --version -
/nixdirectory exists - Logs show no errors
- Clone repo succeeds
-
firstrun-user.shcompletes - Docker:
docker run hello-world - Flatpaks:
flatpak listshows apps - Home-Manager:
home-manager generations - TeX docs reviewed:
less docs/tex-verification.md
- zypper:
sudo zypper ref - Nix:
nix run nixpkgs#hello - Flatpak:
flatpak run org.signal.Signal - Home-Manager:
home-manager switch
- Snapshots exist:
sudo snapper list - Create snapshot:
sudo snapper create -d "test" - Make change to filesystem
- Rollback:
sudo snapper rollback <id> - Verify change reverted
- List:
home-manager generations - Edit
~/git/home/home.nix - Apply:
home-manager switch - Rollback:
home-manager rollback - Verify change reverted
- Check:
sudo zypper lu - Apply:
sudo zypper patch - Snapper created snapshots
- Nix:
cd ~/git/home && nix flake update - Flatpak:
flatpak update
- All docs render in browser
- Commands are copy-pasteable
- No broken links
- Laptop with NVIDIA GPU
- Backup of current OS
- USB with geckoforge ISO
- External drive for backups
- First-boot detects GPU
- Driver installs automatically
-
nvidia-smishows GPU - KDE session loads
- Multi-monitor works
- External displays work
- Toolkit installed (
docker-nvidia-install.sh) - CDI spec:
/etc/cdi/nvidia.yaml - Devices:
nvidia-ctk cdi list - Container test:
docker run --rm --gpus all nvidia/cuda:12.4.0-base nvidia-smi - Non-root access works (
docker run --rm --gpus allas user)
- OBS installed via Flatpak
- NVENC in Settings → Output
- Test recording
- CPU usage low (<10%)
- Quality acceptable
- Suspend:
systemctl suspend - Resume works
- GPU functional after resume
- Battery indicator accurate
- Brightness control works
- Enabled in BIOS
- System boots
- MOK enrolled (if prompted)
-
mokutil --sb-state= enabled
- Documents
- Pictures/Videos
- Firefox/Chrome profile
- SSH keys (
~/.ssh/) - VS Code settings
- Git repositories
- Passwords (KeePass export)
Option A: Dual Boot (Recommended)
- Shrink Windows partition
- Install geckoforge on free space
- Test for 2 weeks
- Wipe Windows if stable
Option B: Direct Replace
- Full Windows backup
- Create recovery USB
- Install geckoforge
- Restore data
- Web browsing works
- Email accessible
- Code editing (VS Code, vim)
- Git operations
- SSH connections
- Video calls (Zoom/Teams)
- Development environment
- GPU workloads
- OBS recording/streaming
- Gaming (Steam/Proton)
Before Windows replacement:
- ✅ ISO builds successfully
- ✅ First-boot scripts work
- ✅ NVIDIA driver installs
- ✅ Nix + Home-Manager functional
- ✅ Docker daemon + rootless access works
- ✅ GPU containers work
- ✅ Snapper rollbacks work
- ✅ Nix rollbacks work
- ✅ Docs complete and accurate
- VM (QEMU/VirtualBox)
- NVIDIA laptop
- Bare metal workstation
**Title**: [Component] Brief description
**Environment**:
- ISO: v0.2.0
- Hardware: [Model or VM]
- GPU: [NVIDIA model or None]
**Steps to Reproduce**:
1. ...
2. ...
**Expected**: ...
**Actual**: ...
**Logs**:
- journalctl -u geckoforge-firstboot.service
- journalctl -u geckoforge-nix.service
**Workaround**: ...- Rebuild ISO with latest patches
- Quick VM test
- Update production:
sudo zypper patch cd ~/git/home && nix flake update && home-manager switch flatpak update
- Verify critical workflows
- Create backup
- GRUB → "Bootable snapshots"
- Boot last working snapshot
sudo snapper rollback
home-manager rollback- Boot from USB
- Mount encrypted disk
- Restore from backup
- Reinstall (last resort)