Implement unified system widget with NixOS info, CPU, RAM, and Storage

- Create NixOS collector for version and active users detection
- Add SystemWidget combining all system information in TODO.md layout
- Replace separate CPU/Memory widgets with unified system display
- Add tree structure for storage with drive temperature/wear info
- Support NixOS version, active users, load averages, memory usage
- Follow exact decimal formatting from specification
This commit is contained in:
2025-10-23 14:01:14 +02:00
parent c99e0bd8ee
commit 39fc9cd22f
9 changed files with 697 additions and 63 deletions

View File

@@ -39,6 +39,7 @@ pub struct CollectorConfig {
pub smart: SmartConfig,
pub backup: BackupConfig,
pub network: NetworkConfig,
pub nixos: NixOSConfig,
}
/// CPU collector configuration
@@ -113,6 +114,13 @@ pub struct SmartConfig {
pub wear_critical_percent: f32,
}
/// NixOS collector configuration
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct NixOSConfig {
pub enabled: bool,
pub interval_seconds: u64,
}
/// Backup collector configuration
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BackupConfig {