Jovian-NixOS is a NixOS overlay and module collection that enables running NixOS on the Steam Deck and similar handheld gaming devices. It provides hardware-specific kernel configurations, firmware update integration, Steam Deck UI (Gaming Mode) support, audio/display driver patches, and a suite of system services (power management, input handling, performance control) modeled after SteamOS. The repository is structured as a Nix flake with a clear separation of concerns: NixOS modules under `modules/` define configuration options for Steam Deck hardware, Steam client integration, and SteamOS-like system settings; a Nix overlay under `pkgs/` provides patched or vendored packages (gamescope, mesa, linux kernel, pipewire, etc.) that are not yet in upstream Nixpkgs or require Steam Deck-specific modifications. The codebase demonstrates strong NixOS engineering practices: modular design, extensive use of lib.mkIf/mkMerge for conditional configuration, hardcoded path patching via replaceVars, and resholve for shell script safety. The documentation system is a custom Ruby pipeline that generates a static site from markdown with options and package listings. While the repository is tightly coupled to NixOS and the Steam Deck domain, it is a well-maintained, production-quality example of how to extend NixOS for specialized hardware.
Bazzite is a custom Fedora Atomic (Silverblue/Kinoite) operating system image optimized for gaming on desktops, handheld PCs (Steam Deck, ROG Ally, etc.), and HTPCs. It provides a SteamOS-like experience with pre-installed gaming tools (MangoHud, vkBasalt, OBS VkCapture), hardware support (OGC kernel, HDR/VRR, DisplayLink, per-device audio profiles), and a suite of system management utilities. The repository is not a traditional application but a build system for generating container images and ISOs. The architecture is container-native: images are built via Containerfile and GitHub Actions, with modular overlays for different variants (desktop, deck, nvidia) and desktop environments (GNOME, KDE). Key components include a justfile recipe library for user-facing configuration (ujust), systemd services, udev rules, RPM spec files with patches for upstream packages (BlueZ, UPower, Xwayland, MangoHud), and hardware detection scripts. The build process is fully automated via CI/CD, with image signing and attestation. The project is actively maintained with a large community and extensive hardware support.
This repository implements the OpenSplitDeck, a split wireless game controller system designed to emulate Steam Deck input. The core functionality resides in embedded firmware built on the Zephyr RTOS, running on Nordic nRF52840 microcontrollers (Seeed Xiao BLE). The architecture consists of two controller halves (Left/Right) communicating via a custom Enhanced ShockBurst (ESB) wireless protocol, with a central dongle translating this data into USB HID reports using the S-Input protocol for Steam compatibility. The project also includes open-source hardware designs, including PCB schematics (Altium) and 3D CAD models (STL) for the enclosure and mechanical components. The codebase demonstrates solid embedded engineering practices, utilizing Zephyr's Device Tree, Kconfig, and modular driver architecture. Key features include deep sleep power management, capacitive trackpad integration (Azoteq IQS7211E), IMU sensor fusion (LSM6DS3), and DRV2605 haptic feedback. However, the repository exhibits hybridity between software and hardware engineering, with significant portions dedicated to mechanical design assets (STL files) and PCB documentation. While the firmware is well-structured, the inclusion of binary CAD files in Git and legacy Arduino code alongside the Zephyr implementation introduces maintenance complexity and potential drift. The project is actively maintained with recent commits and a substantial user base (1000+ stars), indicating a mature open-source hardware initiative. The firmware handles complex real-time constraints, including wireless latency optimization and multi-threaded sensor polling. Despite the high quality of the core logic, the repo hygiene regarding binary assets and mixed legacy code prevents a higher score, though it remains a valuable reference for embedded gaming peripherals.