Added secure boot status to sysinfo.

This commit is contained in:
2026-05-28 00:42:31 +02:00
parent b0ea2e0ee3
commit 187129d314
+34
View File
@@ -95,3 +95,37 @@ pub fn get_gpus_list() -> Vec<GpuInfo> {
res
}
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Deserialize)]
pub struct SecureBootStatus {
pub installed: bool,
pub guid: String,
pub setup_mode: bool,
pub secure_boot: bool,
pub vendors: Vec<String>,
pub firmware_quirks: Vec<String>,
}
pub fn get_secure_boot_status() -> Result<SecureBootStatus, String> {
use std::process::Command;
//sbctl --json status
match Command::new("sbctl").args(["--json", "status"]).output() {
Ok(cmd_output) => {
if cmd_output.status.success() {
match serde_json::from_slice(&cmd_output.stdout) {
Ok(res) => Ok(res),
Err(ex) => Err(ex.to_string()),
}
} else {
Err(format!(
"Error getting disk devices list: {}",
String::from_utf8(cmd_output.stderr).unwrap_or("UNKNOWN".into())
))
}
}
Err(ex) => Err(ex.to_string()),
}
}