inxi-rs is a safety-first, read-only Rust system information tool for Linux,
inspired by inxi.
It is an independent Rust reimplementation focused on:
- a reusable headless core
- deterministic
screenandjsonoutput - explicit source tracing and warnings
- a future TUI-friendly architecture
This project is maintained by Simmaco Di Maio and reflects a deliberate long-term investment in Rust as a systems language.
inxi-rs is not an official port of inxi and is not affiliated with
upstream.
Italian documentation is available in README.it.md.
Current status: 0.1.0-alpha.1
What this means:
- the architecture is already serious enough for public review
- the project is useful today on Linux
- the output and supported sections are still being stabilized
- the repository is not yet claiming feature parity with
inxi
The goal is not to produce a line-by-line translation of the original Perl code.
The goal is to build a modern Rust system information tool that keeps what is
valuable in inxi:
- pragmatic section-oriented output
- robust fallback thinking
- privacy filters
- operational usefulness on real Linux systems
while replacing what would be costly to preserve:
- layout-driven internal data structures
- globally coupled state
- CLI-specific logic mixed with collection logic
Rust was chosen for both technical and personal reasons:
- it is strong at modeling partial, structured, fallible system data
- it supports a disciplined separation between collectors, models, and renderers
- it is a good foundation for a future TUI without rewriting the core
- it is the systems language the maintainer is actively investing in for the long term
More detail is available in docs/en/why-rust.md.
Supported today:
- Linux-only
screenandjsonoutputSystemMachineCPUMemoryGraphicsNetworkDrivesPartitionsSwapInfo
Important non-goals for the current release line:
- full feature parity with upstream
inxi - non-Linux platforms
- TUI implementation
- broad legacy option compatibility
See docs/en/v1-scope.md.
inxi-rs is designed to stay observational.
Current safety rules:
- no filesystem writes
- no writes to
/proc,/sys, or/dev - no shell execution
- no privilege escalation
- no network access
- external commands only when audited, fixed-argument, and trusted
The project exposes this policy in the report itself so users can inspect it instead of trusting undocumented behavior.
See docs/en/safety.md.
Build and run:
cargo run -p inxi-cli -- -bJSON output:
cargo run -p inxi-cli -- -b --output jsonCollector diagnostics:
cargo run -p inxi-cli -- --self-checkQuality checks:
cargo fmt --all --check
cargo test
cargo clippy --workspace --all-targets -- -D warningsEnglish:
Italian:
inxi-rs is freely inspired by inxi, originally developed by Harald Hope and
contributors.
This repository does not attempt to present itself as upstream, as a drop-in
replacement, or as an official port. The intent is to learn from the design
strengths of inxi while building a Rust-first implementation with different
internal architecture and project goals.
This project is licensed under GPL-3.0-or-later.
See LICENSE.