finds.dev← search

// the find

AprilNEA/OpenLogi

★ 12,476 · Rust · Apache-2.0 · updated Aug 2026

⚡️A native, local-first alternative to Logitech Options+, written in Rust 🦀 — remap buttons, DPI, and SmartShift over HID++. No account, no telemetry.

OpenLogi is a Rust-based replacement for Logitech Options+ that talks directly to Logitech devices over HID++ without requiring an account or network access. It targets power users on macOS, Linux, and Windows who want plain-text config, a CLI, and no background telemetry. Still pre-1.0 but already shipping signed installers and NixOS module support.

- The workspace structure is genuinely well-organized: separate crates for hidpp protocol, HID device management, camera, CLI, agent, and GUI means the pieces are independently testable and the agent can run headless

- The Cargo.toml lint setup is serious — workspace-wide `unsafe_code = deny`, `unwrap_used`, `expect_used`, `allow_attributes_without_reason` all set to warn. This is stricter than most commercial Rust codebases

- Linux is treated as a real platform, not an afterthought: udev rules, systemd user service, NixOS module, deb/rpm/pacman packages, and D-Bus MPRIS support for media keys

- TOML config that syncs across machines is a concrete, practical win over Options+ which stores config in a proprietary cloud account

- GPUI is pinned to zed's default branch via a floating git dependency — not a tag, not a hash in the dependency itself (relies on Cargo.lock). Any zed refactor can silently break the build between lockfile bumps, and this has already burned contributors to other GPUI-based projects

- Device support is inherently limited and underdocumented: HID++ feature coverage varies wildly by mouse model (0x2111, 0x2121, etc.), and there's no compatibility matrix in the README telling you whether your specific device works before you uninstall Options+

- The agent/GUI split adds real operational friction on Windows — the README warns you to keep two executables side by side and notes the tray toggle is macOS-only, suggesting Windows is still catching up in polish

- Pre-stable warning buried at the top means config format can change between releases with no migration path documented, which is painful if you've scripted or synced your TOML across machines

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →