Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rust-linux-utils

Reusable Rust libraries for Linux. Primary target: Raspberry Pi CM4 on Ubuntu / Raspberry Pi OS. Domain-free — nothing here knows about agents, extensions, or any specific product.

For the design rationale and per-crate scope boundaries, see docs/SCOPE.md.

Crates

Crate Purpose
fs-bundle tar+zstd pack/unpack, file/dir CRUD, declarative tree scaffolding, POSIX permission helpers.
net-info Network introspection (interfaces, IPs, gateway, DNS, public IP) plus configurator backends (NetworkManager, netplan, ifupdown).
machine-id Stable per-machine identity: OS machine-id, Pi board serial, and a persisted node id — each tagged with how far it can be trusted.
net-scan Generic async TCP host/port scanner — CIDR/range targets, bounded concurrency, pluggable identify probe.
systemd-units Async wrapper around zbus_systemd for managing systemd units. Pure-Rust D-Bus.
ufw Manage Ubuntu's UFW firewall via CLI shell-out. Typed Rule builder, parsed Status snapshot.
pi-host Read-only Raspberry Pi hardware introspection: model, revision, serial, SoC temp, throttling, clocks, voltages, firmware.
storage Disk and mount introspection: /proc/mounts, statvfs, /sys/block device classification (eMMC/SD/USB/NVMe).
watchdog Linux hardware watchdog (/dev/watchdog) — set timeout, kick, magic close.
gpio Pi GPIO/PWM/I²C/SPI/UART — thin re-export of rppal.
journald Read systemd journal entries via journalctl --output=json. One-shot fetch and async follow.
time-sync Async wrapper around systemd-timedated (timedate1 D-Bus) — NTP enable/sync, timezone, RTC mode.

Adding a crate

  1. cargo new --lib crates/<name> (or copy an existing layout).
  2. Add it to the members list in the root Cargo.toml.
  3. In the new crate, set shared fields with workspace = true (version, edition, rust-version, license, publish) and pull common deps from [workspace.dependencies].
  4. Add a one-line entry to the table above and a section to docs/SCOPE.md describing what's in/out of scope.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages