How amir16yp/hos works
hOS is a Linux-based desktop OS project; the sampled runtime tree centers on HOSWM, its graphical session and standalone applications, and the native init/services system. The main user workflow is: start a session, discover input devices, render and present a desktop, then launch GUI apps that communicate with the window server. README capabilities also include networking, power, time, sound, settings, installation, and authentication. Some links reflect README or module documentation because their implementations were not sampled; those links are limited to explicitly documented interactions.
Main entry points: client.rs Rust / C clients · ipc.rs Service IPC · main.rs HOSWM session · supervisor.rs Init supervisor
Components 26
Desktop session
- HOSWM session
HOSWM/src/main.rs - Input discovery
HOSWM/src/input.rs - Window desktop
HOSWM/src/desktop.rs
Graphics and ABI
- Framebuffer / DRM
HOSWM/src/framebuffer.rs - Surfaces and fonts
HOSWM/src/surface.rs - Window ABI
HOSWM/src/abi.rs - Rust / C clients
HOSWM/src/client.rs
Desktop applications
- Terminal
HOSWM/src/bin/hos-terminal.rs - File browser
HOSWM/src/bin/hos-files.rs - Image viewer
HOSWM/src/bin/hos-image.rs - Paint
HOSWM/src/bin/hos-paint.rs - Installer
HOSWM/src/bin/hos-installer.rs - Settings
HOSWM/src/bin/hos-settings.rs
System services
- Init supervisor
HOSWM/src/init/supervisor.rs - Service IPC
HOSWM/src/init/ipc.rs - Network service
HOSWM/src/init/net.rs - Power service
HOSWM/src/init/power.rs - Time service
HOSWM/src/init/ntp.rs - Sound service
HOSWM/src/init/sound.rs - System settings
HOSWM/src/init/sys.rs - Service control CLI
HOSWM/src/init/bin/hosctl.rs
Session support
- Image previews
HOSWM/src/preview.rs - Session config
HOSWM/src/config.rs
Other components
- User
- wpa_supplicant
- Shell user
Connections 30
- User → HOSWM session: uses session
- HOSWM session → Input discovery: scans input
- HOSWM session → Window desktop: runs session
- HOSWM session → Framebuffer / DRM: presents frames
- Window desktop → Surfaces and fonts: draws with
- HOSWM session → Window ABI: serves windows
- Terminal → Rust / C clients: uses client
- File browser → Rust / C clients: uses client
- Image viewer → Rust / C clients: uses client
- Paint → Rust / C clients: uses client
- Installer → Rust / C clients: uses client
- Settings → Rust / C clients: uses client
- Rust / C clients → Window ABI: sends requests
- File browser → Image previews: reads thumbnails
- Image viewer → Image previews: generates thumbnails
- Window desktop → Session config: reads preferences
- HOSWM session → Init supervisor: starts session
- Init supervisor → Network service: supervises
- Init supervisor → Power service: supervises
- Init supervisor → Time service: supervises
- Init supervisor → Sound service: supervises
- Network service → Service IPC: serves protocol
- Power service → Service IPC: serves protocol
- Time service → Service IPC: serves protocol
- Sound service → Service IPC: serves protocol
- Settings → Service IPC: reads / writes
- Service IPC → System settings: persists settings
- Shell user → Service control CLI: runs commands
- Service control CLI → Service IPC: sends requests
- Network service → wpa_supplicant: controls Wi-Fi