retch_sysinfo/lib.rs
1// SPDX-FileCopyrightText: 2026 Ken Tobias
2// SPDX-License-Identifier: GPL-3.0-or-later
3
4//! # retch-sysinfo
5//!
6//! System information gathering library for retch.
7//!
8//! Provides cross-platform hardware and OS detection, GPU identification,
9//! battery status, and environment probing. Extracted from the `retch-cli`
10//! binary to allow reuse as a standalone library.
11//!
12//! ## Modules
13//!
14//! - [`audio`] — Audio server and device detection.
15//! - [`battery`] — Cross-platform battery status detection.
16//! - [`bios`] — BIOS / firmware version detection.
17//! - [`bluetooth`] — Bluetooth controller state and connected device detection.
18//! - [`camera`] — Camera and webcam detection.
19//! - [`display`] — Display detection and EDID parsing.
20//! - [`gamepad`] — Gamepad and joystick controller detection.
21//! - [`gpu`] — GPU detection and PCI ID lookup.
22//! - [`motherboard`] — Motherboard / system model detection.
23//! - [`network`] — Network interface detection, IP resolution, and Wi-Fi.
24//! - [`packages`] — Installed package count detection.
25//! - [`shell`] — Shell detection and version querying.
26//! - [`terminal`] — Terminal emulator detection and font configuration reading.
27//! - [`theme`] — UI theme, icon, cursor, and font detection.
28//! - [`fetch`] — Full system information gathering (`SystemInfo`, `CollectOptions`).
29
30pub mod audio;
31pub mod battery;
32pub mod bios;
33pub mod bluetooth;
34pub mod camera;
35pub mod display;
36pub mod fetch;
37pub mod gamepad;
38pub mod gpu;
39pub mod motherboard;
40pub mod network;
41pub mod packages;
42pub mod shell;
43pub mod terminal;
44pub mod theme;
45
46#[cfg(target_os = "windows")]
47pub(crate) mod win_reg;
48
49pub use fetch::{CollectOptions, SystemInfo};