v0.2.0: WSL desktop, branding, GRUB theme, CI, installer, fonts, voice architecture
SamiOS CI / lint-and-test (push) Successful in 14s

Major update adding full desktop environment support, complete branding suite,
and project infrastructure:

Desktop (WSL):
- KDE Plasma + SDDM + Dolphin/Konsole/Kate/Firefox setup script
- Windows 11 dark/light color schemes
- PipeWire audio stack
- WSLg-compatible launch script
- SamiOS CLI tool (v0.2.0) with desktop command

Branding:
- Logos: face-on-pyramid with and without text (500px)
- Icons: square + launcher (256/512/1024px) + SVG vector
- Wallpapers: 1920x1080, 4K, clean variant (PIL-generated)
- GRUB theme: full cobalt blue (#1424CE) theme with pyramid background
- SDDM theme: SamiOS login screen configuration
- Branding README with palette, typography, usage guidelines

Fonts:
- Sami Grotesk (Helvetica-like) as default system/UI font
- Sami Sans as secondary
- Full Sami font family support (excluding 7777 personal branding)
- fontconfig rules mapping Helvetica/Arial → Sami Grotesk
- Font policy enforcement in samios CLI

Infrastructure:
- Automated installer (samios-installer.sh): partition, format, pacstrap, bootloader
- PKGBUILD for samios-branding package
- Test suite: shell tests for profiledef, packages, pacman.conf, CLI, font policy
- Makefile: test, lint, check, build, clean targets
- Gitea Actions CI workflow
- Voice integration architecture document (SamiType × SamiOS)
- Updated roadmap reflecting completed phases
This commit is contained in:
Sami Ahmed
2026-08-11 03:39:47 -07:00
parent 970177482b
commit 658a8541e9
79 changed files with 2752 additions and 35 deletions
+60 -33
View File
@@ -1,67 +1,94 @@
# SamiOS Roadmap
## Phase 1: Foundation (Current)
## Phase 1: Foundation
- [x] Basic archiso profile
- [x] CLI tool (`samios`)
- [x] Boot configuration (BIOS + UEFI)
- [x] System configuration files
- [ ] Automated installer
- [ ] Font management system
- [ ] Build automation
- [x] Automated installer (`samios-installer.sh`)
- [x] Font management system (fontconfig + policy enforcement)
- [x] SamiOS branding package (logos, icons, wallpapers)
- [x] GRUB theme (#1424CE cobalt blue)
- [x] SDDM theme
- [ ] Build automation CI pipeline (in progress)
- [ ] Test suite (in progress)
## Phase 2: Desktop Environment
- [ ] KDE Plasma integration
- [ ] Display manager (SDDM)
- [ ] Graphics drivers (NVIDIA/AMD/Intel)
- [ ] Audio setup (PipeWire)
- [ ] Network management GUI
- [ ] System settings GUI
## Phase 2: Desktop Environment ✅ (WSL)
- [x] KDE Plasma integration (WSL on SAMI-PC)
- [x] Display manager config (SDDM)
- [x] Graphics via WSLg
- [x] Audio setup (PipeWire)
- [x] Network management (NetworkManager)
- [x] Windows 11 theme (color schemes, window borders)
- [x] Sami Grotesk as default system font
- [x] Sami Sans as secondary font
- [x] Sami font family installed (excluding 7777 branding fonts)
- [x] SamiOS wallpapers (1920×1080, 4K, clean variant)
- [ ] KDE panel configuration (bottom taskbar, Win11 start menu style)
- [ ] Full system settings GUI
## Phase 3: Applications
- [ ] Web browser (Firefox/Chromium)
- [ ] File manager (Dolphin)
- [ ] Terminal emulator (Konsole)
- [ ] Text editor (Kate)
## Phase 3: Applications (Next)
- [ ] Web browser (Firefox) ✅ installed
- [ ] File manager (Dolphin) ✅ installed
- [ ] Terminal emulator (Konsole) ✅ installed
- [ ] Text editor (Kate) ✅ installed
- [ ] Office suite (LibreOffice)
- [ ] Media player (VLC)
- [ ] Image viewer (Gwenview)
## Phase 4: System Tools
- [ ] Package manager GUI (Pamac)
- [ ] Email client (Thunderbird/KMail)
## Phase 4: SamiType Voice Integration
- [ ] SamiType STT service (systemd, always-on)
- [ ] Wake word detection ("Computer")
- [ ] Command router (intent classification)
- [ ] KDE/WM control via voice
- [ ] Web navigation via voice
- [ ] System control via voice (volume, brightness, screenshots)
- [ ] TTS voice feedback
- [ ] Push-to-talk mode (keyboard shortcut)
- [ ] Dictation mode (SamiType → any text field)
- See: `docs/voice-integration-architecture.md`
## Phase 5: System Tools
- [ ] System monitor
- [ ] Backup tool
- [ ] Backup tool (Btrfs snapshots)
- [ ] Firewall configuration
- [ ] User management GUI
- [ ] System update GUI
## Phase 5: Polish
- [ ] Custom themes
- [ ] SamiOS branding
- [ ] Documentation
- [ ] Testing suite
- [ ] Release automation
## Phase 6: Polish
- [x] Custom themes (Win11 dark/light color schemes)
- [x] SamiOS branding (logos, wallpapers, boot screens)
- [x] Documentation (installation, voice architecture)
- [ ] Testing suite (shell tests, CI)
- [ ] Release automation (ISO build pipeline)
## Phase 6: Advanced Features
- [ ] Dual-boot setup tool
## Phase 7: Advanced Features
- [ ] Dual-boot setup tool (Windows → SamiOS migration)
- [ ] System recovery tools
- [ ] Snapshot/rollback (Btrfs)
- [ ] Container support (Docker/Podman)
- [ ] Virtual machine support
- [ ] Custom kernel with optimizations
## Long-term Goals
- [ ] Custom kernel with optimizations
- [ ] SamiOS-specific packages
- [ ] Custom kernel with SamiType hardware acceleration
- [ ] SamiOS-specific packages (voice-native apps)
- [ ] Community repository
- [ ] Hardware certification
- [ ] Enterprise features
## Timeline
- Phase 1: Q4 2024
- Phase 2: Q1 2025
- Phase 3: Q2 2025
- Phase 4-6: Ongoing
- Phase 1: ✅ Complete
- Phase 2: ✅ Complete (WSL), bare-metal pending
- Phase 3: Q3 2026
- Phase 4: Q4 2026 (SamiType integration begins)
- Phase 5-7: 2027+
## Notes
- Prioritize stability over features
- Keep system lightweight
- Maintain Arch compatibility
- Focus on daily-driver usability
- Voice-first interaction is the north star
+149
View File
@@ -0,0 +1,149 @@
# SamiType × SamiOS Voice Integration Architecture
## Vision
Voice-first OS control — "Computer, open Firefox", "Computer, go to youtube.com",
"Computer, volume up" — Star Trek computer style, powered by SamiType (Sami's
custom speech-to-text engine).
## Architecture Overview
```
┌─────────────────────────────────────────────────┐
│ SamiOS Desktop │
│ │
│ ┌──────────┐ ┌──────────┐ ┌─────────────┐ │
│ │ Audio │──▶│ SamiType │──▶│ Command │ │
│ │ Capture │ │ STT │ │ Router │ │
│ └──────────┘ └──────────┘ └──────┬──────┘ │
│ │ │
│ ┌──────────────────┼─────┐ │
│ ▼ ▼ ▼ │
│ ┌──────────┐ ┌──────┐ ┌──────┐ │
│ │ KDE/WM │ │ Web │ │ Sys │ │
│ │ Control │ │ Nav │ │ Ctrl │ │
│ └──────────┘ └──────┘ └──────┘ │
│ │
│ ┌──────────────────────────────────────────┐ │
│ │ SamiType TTS (Voice Response) │ │
│ └──────────────────────────────────────────┘ │
└─────────────────────────────────────────────────┘
```
## Components
### 1. Wake Word Engine
- **Trigger:** "Computer" (configurable)
- **Implementation:** Porcupine or openWakeWord (offline, low-latency)
- **Always listening** via systemd service, minimal CPU (< 2%)
- Push-to-talk fallback (keyboard shortcut or dedicated button)
### 2. SamiType STT (Speech-to-Text)
- Sami's existing speech-to-text engine
- **Offline-first** — models run locally, no cloud dependency
- **Streaming mode** — starts transcribing before user finishes speaking
- Outputs text + confidence score
### 3. Command Router
- Parses SamiType transcription → structured command
- Intent classification:
- **Navigation:** "go to [website]", "open [app]", "search for [query]"
- **System:** "volume [up/down/mute]", "brightness [N]", "screenshot", "lock screen"
- **Window:** "minimize", "maximize", "close window", "switch to [app]"
- **File:** "open [file]", "create folder [name]", "move [file] to [location]"
- **Query:** "what time is it", "what's the weather", "system status"
- **Fallback:** If no command match → pass to web search or LLM
### 4. Execution Layer
- **KDE/WM Control:** kdialog, qdbus, kstart, wmctrl, xdotool
- **Web Navigation:** xdg-open, firefox --new-tab [url]
- **System Control:** pactl (volume), brightnessctl, systemctl, loginctl
### 5. Voice Response (TTS)
- SamiType TTS engine for spoken confirmations
- "Opening Firefox", "Volume set to 50%", "Screenshot saved"
- Subtle — not chatty, only speaks when action confirmed or error
## Command Examples
| Voice Input | Action |
|-------------|--------|
| "Computer, open Firefox" | Launch Firefox |
| "Computer, go to youtube.com" | Open youtube.com in default browser |
| "Computer, volume up" | Increase volume by 10% |
| "Computer, mute" | Mute audio |
| "Computer, take a screenshot" | spectacle -f (fullscreen capture) |
| "Computer, lock screen" | loginctl lock-session |
| "Computer, what time is it" | TTS: "It's 3:42 PM" |
| "Computer, minimize all windows" | Show desktop (Meta+D) |
| "Computer, switch to Firefox" | Activate Firefox window |
| "Computer, check for updates" | Run pacman -Syu, TTS result |
## Integration Points
### SamiType → SamiOS
```
samiType.onTranscription(text, confidence) {
if (confidence < 0.6) return; // ignore low-confidence
command = CommandRouter.parse(text);
if (command) {
result = command.execute();
if (result.shouldSpeak) {
samiTypeTTS.speak(result.message);
}
}
}
```
### systemd Service
```ini
[Unit]
Description=SamiOS Voice Assistant (SamiType)
After=pipewire.service
[Service]
ExecStart=/usr/local/bin/samios-voice
Restart=always
User=sami
[Install]
WantedBy=default.target
```
## Phased Rollout
### Phase 1: Foundation (MVP)
- [ ] SamiType running as systemd service in SamiOS
- [ ] Push-to-talk activation (keyboard shortcut)
- [ ] Basic command set: open apps, web nav, volume
- [ ] Text output in notification (no TTS yet)
### Phase 2: Always-On Wake Word
- [ ] Wake word "Computer" detection
- [ ] Expanded command set: window management, screenshots
- [ ] TTS voice feedback
### Phase 3: Natural Language
- [ ] LLM-powered intent parsing for complex commands
- [ ] "Computer, find all PDFs from last week and move them to Documents"
- [ ] Context awareness (current app, current selection)
### Phase 4: Full Voice OS
- [ ] Voice-controlled settings (display, network, bluetooth)
- [ ] Dictation mode (SamiType → any text field)
- [ ] Custom command creation ("Computer, when I say X, do Y")
- [ ] Multi-turn voice interactions
## Dependencies
- SamiType (STT + TTS)
- pipewire (audio capture/playback)
- KDE Plasma (window/desktop control via qdbus)
- wmctrl / xdotool (X11 window manipulation)
- Optional: openWakeWord or Porcupine (wake word detection)
## Security Considerations
- All processing is local (no cloud, no data leaves the machine)
- Microphone indicator (notification when listening)
- Manual disable switch (system tray toggle)
- No voice data stored unless explicitly saved by user