microfetch/src/main.rs

71 lines
2.8 KiB
Rust
Raw Normal View History

2024-08-03 17:42:48 +00:00
mod colors;
mod desktop;
mod release;
mod system;
mod uptime;
use color_eyre::{Report, Result};
2024-08-03 16:06:29 +00:00
2024-08-03 17:42:48 +00:00
use crate::colors::{BLUE, CYAN, RESET};
use crate::desktop::get_desktop_info;
use crate::release::{get_os_pretty_name, get_system_info};
use crate::system::{get_memory_usage, get_root_disk_usage, get_username_and_hostname};
2024-08-03 21:07:11 +00:00
use crate::uptime::get_current;
2024-08-03 16:06:29 +00:00
fn main() -> Result<(), Report> {
color_eyre::install()?;
2024-08-03 21:05:57 +00:00
let user_info = get_username_and_hostname()?;
let os_name = get_os_pretty_name()?;
let kernel_version = get_system_info()?;
2024-08-03 21:07:11 +00:00
let uptime = get_current()?;
2024-08-03 21:05:57 +00:00
let window_manager = get_desktop_info()?;
let memory_usage = get_memory_usage()?;
let storage = get_root_disk_usage()?;
2024-08-03 16:06:29 +00:00
2024-08-03 21:05:57 +00:00
print_system_info(
&user_info,
&os_name,
&kernel_version,
&uptime,
&window_manager,
&memory_usage,
&storage,
);
Ok(())
}
2024-08-03 21:05:57 +00:00
fn print_system_info(
user_info: &str,
os_name: &str,
kernel_version: &str,
uptime: &str,
window_manager: &str,
memory_usage: &str,
storage: &str,
) {
println!(
2024-08-03 16:06:29 +00:00
"
2024-08-04 09:42:53 +00:00
{CYAN} {BLUE} {user_info} ~{RESET}
{CYAN} {BLUE} {CYAN} {CYAN} {BLUE}System{RESET} {os_name}
{BLUE} {CYAN} {CYAN} {BLUE}Kernel{RESET} {kernel_version}
{BLUE} {CYAN} {BLUE} {CYAN} {CYAN} {BLUE}Uptime{RESET} {uptime}
{BLUE} {CYAN} {CYAN} {BLUE}WM{RESET} {window_manager}
{BLUE} {CYAN}{BLUE} {CYAN}󰍛 {BLUE}Memory{RESET} {memory_usage}
{CYAN} {BLUE} {CYAN}󱥎 {BLUE}Storage (/){RESET} {storage}
{CYAN} {BLUE} {user_info} ~{RESET}
{CYAN} {BLUE} {CYAN} {CYAN} {BLUE}System{RESET} {os_name}
{CYAN} {BLUE} {CYAN} {CYAN} {BLUE}Kernel{RESET} {kernel_version}
{BLUE} {BLUE}{CYAN} {CYAN} {BLUE}Uptime{RESET} {uptime}
{BLUE} {CYAN} {CYAN} {BLUE}WM{RESET} {window_manager}
{BLUE} {CYAN} {CYAN} {CYAN}󰍛 {BLUE}Memory{RESET} {memory_usage}
{BLUE} {CYAN}{BLUE} {CYAN}󱥎 {BLUE}Storage (/){RESET} {storage}
{BLUE} {CYAN}{BLUE}
{CYAN} {BLUE}
2024-08-03 21:07:11 +00:00
"
2024-08-03 16:06:29 +00:00
);
}