Commit graph

4 commits

Author SHA1 Message Date
b163cf1014 Merge xfce-operator-usb: Track F Colibri, DeepSeek smoke, LLM provider harness 2026-06-04 20:04:23 +02:00
1bffa175c8 Unify ISO and fix GPU installation gap (Sam & ZAI)
BREAKING CHANGE: Removes --target and --gpu-driver flags, unified ISO for all use cases

## Phase 0: GPU Fix + Unified ISO

### Core Changes

**GPU Package Installation (FIXES CRITICAL GAP):**
- Add clawdie_shell_nvidia_install() function to shell-nvidia.sh
- NVIDIA drivers now installed after detection (previously only configured)
- Works offline (USB packages) or online (pkg install)
- Resolves issue where rc.conf was set but driver not installed

**Unified ISO Architecture:**
- Remove --target flag from build.sh (no more vps/baremetal branching)
- Remove --gpu-driver flag from build.sh (runtime detection instead)
- All packages included on every ISO (desktop + all GPU drivers)
- Single image works on VPS, baremetal, and cloud

**Runtime Detection:**
- Add shell-desktop.sh for display detection at firstboot
- VPS/cloud: no display → lightdm disabled (headless)
- Baremetal: display detected → lightdm enabled (Lumina desktop)
- GPU detection always runs, installs correct driver version

**Sudo Unification:**
- Replace all doas references with sudo across entire codebase
- Update AGENTS.md with system configuration guidelines
- Update all documentation (BUILD.md, README.md, REQUIREMENTS.md, etc.)
- Admin panel now uses sudo for privileged operations

### Files Modified

**Core System:**
- build.sh: Remove target/gpu-driver logic, unified package selection
- firstboot/firstboot.sh: Add desktop detection module
- firstboot/shell-nvidia.sh: Add package installation function (+33 lines)

**New Files:**
- firstboot/shell-desktop.sh: Display detection and desktop enablement
- packages/pkg-list-nvidia-all.txt: All three NVIDIA driver versions (390/470/590)
- .opencode/plans/phase0-gpu-fix-unified-iso.md: Implementation plan

**Documentation:**
- PLAN-UNIFY.md: Update Step 3 for unified approach
- REQUIREMENTS.md: Simplify (no target choice), update for sudo
- BUILD.md: Update for unified ISO, sudo commands
- README.md: Update installation instructions
- AGENTS.md: Add system configuration section (sudo standardization)
- ADMIN-PANEL.md: Update privileged operations to use sudo
- CLAWDIE-SHELL.md: Update example commands to sudo
- CLAWDIE-ISO-REFACTORED.md: Update access paths to sudo
- REFACTOR-SUMMARY.md: Update permissions section to sudo

### Benefits

**Simplicity:**
- One build command: ./build.sh (no flags needed)
- One ISO to test and maintain
- No wrong choices for users
- No documentation explaining target differences

**Flexibility:**
- VPS can use GUI via VNC (wayvnc always available)
- Baremetal can run headless (disable lightdm)
- Repurpose hardware without reinstall
- All GPU drivers available for any hardware

**Technical:**
- Fixes critical GPU driver installation gap
- Runtime detection replaces build-time decisions
- Disk overhead: ~650MB (1-2% of 50GB - acceptable)
- No runtime overhead on VPS (services disabled by detection)

### Testing Required

- [ ] Build unified ISO: ./build.sh
- [ ] Test on VPS (no display): lightdm disabled, packages installed
- [ ] Test on baremetal (display): lightdm enabled, Lumina boots
- [ ] Test on NVIDIA hardware: driver installed and loaded
- [ ] Test sudo commands work without password prompts
- [ ] Verify all doas references removed
2026-06-04 20:04:22 +02:00
a7ea1e350c v0.9.0-rc2: Integrate feedback — recovery, POSIX, security, audio
Addressed community feedback with FreeBSD-first approach:

 Recovery & Resilience:
  - clawdie-firstboot --resume (continue from checkpoint)
  - clawdie-firstboot --reset (start over)
  - Progress logging to /var/log/clawdie-firstboot.progress
  - All errors captured with line numbers + recovery instructions

 POSIX Compliance (FreeBSD-First):
  - All shell modules use POSIX sh (no bash-isms)
  - set -eu + trap ERR for reliable error handling
  - No Linux-specific tools (no systemd, apt, /dev/sda paths)
  - Maximum portability on FreeBSD

 API Key Security:
  - .env created with chmod 600 (user-only readable)
  - API keys never logged or echoed
  - Encrypted vault option planned for v1.0

 Audio (OSS Native):
  - FreeBSD OSS (not PulseAudio) — kernel-native
  - Audio card detection in admin panel (post-firstboot)
  - WiFi firmware detection + install guidance
  - Bluetooth support deferred to v1.0

 Post-Install Hardware:
  - Hardware detection submenu in admin panel
  - WiFi firmware suggestions
  - Audio troubleshooting guidance
  - Static IP via bsdinstall (not wizard)

 Upgrade Path:
  - Manual upgrade documented
  - clawdie-upgrade skill planned for v1.0
  - Admin panel upgrade button planned for v1.0

 v1.0 Roadmap:
  - New roadmap section in CLAWDIE-SHELL.md
  - Lists planned features: encryption, Bluetooth, network wizard, etc.

All changes maintain FreeBSD-native philosophy.
No Linux-isms welcome. OSS over PulseAudio.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-04 20:04:21 +02:00
ecd522b4cd Clawdie Shell specification v0.9.0-rc1
Core documentation:
- CLAWDIE-SHELL.md: Main specification (overview, features, philosophy)
- SHELL-ARCHITECTURE.md: Modular shell design (5 libraries, patterns)
- LUMINA-INTEGRATION.md: Desktop configuration (luminarc, openbox)
- ADMIN-PANEL.md: bsddialog UI specification (system management)
- REFACTOR-SUMMARY.md: Transition from multi-DE to Lumina-only

Philosophy: Standing on giants' shoulders
- FreeBSD (ZFS, jails, rc.d, stability)
- PC-BSD (Lumina desktop, installer wisdom)
- POSIX shell (portability, simplicity, no VM overhead)

Updated .gitignore to exclude build artifacts.
Updated README.md with Clawdie Shell branding.

All dates in 23.mar.2026 format (user preference).

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-04 20:04:21 +02:00