How maxpoww/golem works
Golem OS is a NixOS desktop distribution, with a companion desktop daemon for phone-based input and screen mirroring. The main user journey is to prepare a machine through the installer, detect hardware and select configuration, then boot into the configured desktop; a phone can separately pair with the running daemon and send input or request mirroring. The graph includes documented desktop surfaces, but their implementation wiring is not established by the sampled source. Installer and hardware-detection details are likewise represented conservatively where source excerpts were unavailable.
Main entry points: main.rs Connect Daemon · home.nix Home Environment · flake.nix NixOS Flake · configuration.nix System Profile
Components 26
OS Distribution
- NixOS Flake
flake.nix - System Profile
system/configuration.nix - Machine Profiles
hosts - Hardware Modules
system/hardware.nix
Installation
- Preinstall Assessment
Installer/preinstall - Hardware Evidence
Installer/preinstall/evidence.nix - Hardware Decision
Installer/preinstall/decide.nix - Installer Image
Installer/preinstall/iso-image-golem.nix
Desktop Environment
- Home Environment
system/home/home.nix - Golem Apps
system/golem-apps.nix - Dock Launcher
system/home/waverunner-packages.nix - Notification Bridge
system/home/notification-fix/inject.js
Phone Connectivity
- Connect Daemon
golem-connectd/src/main.rs - Packet Protocol
golem-connectd/src/packet.rs - Pairing Security
golem-connectd/src/crypto.rs - Mousepad Mapping
golem-connectd/src/mousepad.rs - Gamepad Mapping
golem-connectd/src/gamepad.rs - Wayland Input
golem-connectd/src/input.rs - Virtual Gamepad
golem-connectd/src/uinput.rs - Screen Mirroring
golem-connectd/src/mirror.rs
Other components
- User
- Target Machine
- Phone
- Wayland Compositor
- Linux Input
- ADB and scrcpy
Connections 25
- User → Installer Image: starts install
- Target Machine → Hardware Evidence: provides facts
- Preinstall Assessment → Hardware Evidence: collects
- Preinstall Assessment → Hardware Decision: selects configuration
- Installer Image → NixOS Flake: installs system
- User → NixOS Flake: builds or boots
- NixOS Flake → Machine Profiles: selects profile
- NixOS Flake → System Profile: builds profile
- System Profile → Hardware Modules: configures hardware
- System Profile → Home Environment: configures home
- Home Environment → Golem Apps: enables apps
- Home Environment → Dock Launcher: configures surface
- Home Environment → Notification Bridge: includes bridge
- Phone → Connect Daemon: pairs and sends requests
- Connect Daemon → Packet Protocol: parses and frames
- Connect Daemon → Pairing Security: verifies pairing
- Connect Daemon → Mousepad Mapping: translates requests
- Connect Daemon → Gamepad Mapping: translates requests
- Mousepad Mapping → Wayland Input: produces events
- Wayland Input → Wayland Compositor: injects input
- Connect Daemon → Virtual Gamepad: dispatches gamepad events
- Virtual Gamepad → Linux Input: writes device events
- Connect Daemon → Screen Mirroring: handles mirror requests
- Screen Mirroring → ADB and scrcpy: starts or stops mirroring
- Phone → ADB and scrcpy: provides USB device