- Model: MSI GF65 Thin 10UE (MS-16W2)
- CPU: Intel i7-10750H (6C/12T, 2.6-5.0GHz)
- GPU: NVIDIA RTX 3060 Laptop (6GB, 80W TDP)
- RAM: 64GB DDR4-2933
- Storage: NVMe SSD + 1TB HDD
- Display: 15.6" FHD 144Hz
- Battery: 51Wh
# Build ISO
./tools/kiwi-build.sh profile
# Test in VM
./tools/test-iso.sh out/geckoforge-*.iso- ISO boots
- Installation completes
- First-boot services run
- No errors in
journalctl -b
# 1. Write ISO to USB
sudo dd if=geckoforge-*.iso of=/dev/sdX bs=4M status=progress
# 2. Boot from USB, install
# 3. After first boot, run:
./scripts/firstrun-user.sh
# (Will auto-detect laptop and offer power optimizations)# Power management is now in Home-Manager!
# Enable in your home.nix:
programs.power.enable = true;
# Then apply:
home-manager switch --flake ~/git/home
# Dual storage configuration (if HDD present)
# This is offered during firstrun-user.sh| Feature | Workstation | MSI GF65 Laptop |
|---|---|---|
| CPU | AMD Ryzen | Intel i7-10750H |
| GPU TDP | 180W+ | 80W (Max-Q) |
| RAM | 130GB | 64GB |
| Cooling | Tower | 2x laptop fans |
| Power | AC only | Battery + 180W adapter |
| Hybrid GPU | No | Intel iGPU + NVIDIA |
check-thermals # CPU/GPU temps + throttling
sensors # Detailed CPU sensors
nvidia-smi # GPU statussudo tlp-stat # TLP status
sudo tlp-stat -b # Battery info
check-storage # Disk usage
sudo tlp fullcharge BAT0 # Charge to 100% once- Default: 40-80% charging (extends life)
- Expected life: 4-5 hours light use, 3-4 hours coding
- Gaming: 1.5-2 hours (not recommended on battery)
check-storage # Disk usage + health
df -h # Quick disk usage
lsblk # Show all drives
# HDD locations (if configured)
~/Downloads-HDD # Large downloads
~/.steam-library-hdd # Steam games
~/VMs # Virtual machinessteam # Optimized launcher
steam-fps # With MangoHud overlay
gamemode-status # Check if gamemode active- On AC: 4.5-5.0GHz turbo (1-2 cores)
- On Battery: 2.6GHz base or lower
- Thermal limit: 80°C
- Gaming FPS: 60-100 FPS @1080p high
- Drone sims: 100+ FPS
- CUDA cores: 3840
- Thermal limit: 75°C
- Light use: 4-5 hours
- Development: 3-4 hours
- Gaming: 1.5-2 hours
check-thermals # Monitor temps
sudo tlp bat # Force battery profile (lower TDP)
# Long-term: repaste thermal compoundsudo tlp-stat -b # Check optimization
sudo powertop # Find power hogs
sudo powertop --auto-tune # Enable all optimizationsnvidia-smi # Should show RTX 3060
lspci | grep VGA # Check detection
# PRIME offload test
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo | grep "renderer"# Check logs
journalctl -b | grep -i suspend
systemctl status nvidia-suspend
# Test
systemctl suspend- Enable gamemode: Automatic CPU/GPU boost
- Monitor temps: Use MangoHud (
Shift+F12) - 144Hz display: Enable in game settings
- Power profile: AC power for best FPS
- Temp limit: Keep GPU <75°C
# Add HDD library in Steam
# Settings → Storage → (+) Add Drive
# Select: /mnt/data/$USER/Steam
# Install large games on HDD to save SSD space- Full guide: docs/laptop-msi-gf65-optimization.md
- Gaming setup: docs/gaming-steam-setup.md
- Testing plan: docs/testing-plan.md
All scripts in scripts/:
setup-laptop-power.sh- Power managementsetup-dual-storage.sh- SSD + HDD configsetup-docker.sh- Docker installationdocker-nvidia-install.sh- NVIDIA container toolkitdocker-nvidia-verify.sh- GPU verificationfirstrun-user.sh- Main setup wizard
- ✅ Reboot (power management takes effect)
- ✅ Run
check-thermalsduring first use - ✅ Monitor battery life over 1-2 days
- ✅ Test suspend/resume (close/open lid)
- ✅ Install Steam and test drone simulator
- ✅ Check
sudo tlp-statfor optimization status
Ready to deploy! 🚀
Test in VM first, then install on laptop. Monitor thermals during first gaming session.