2024-08-03 17:42:48 +00:00
|
|
|
mod colors;
|
|
|
|
mod desktop;
|
|
|
|
mod release;
|
|
|
|
mod system;
|
|
|
|
mod uptime;
|
|
|
|
|
2024-08-03 17:00:58 +00:00
|
|
|
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};
|
2024-08-03 17:56:02 +00:00
|
|
|
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
|
|
|
|
2024-08-03 17:00:58 +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 17:00:58 +00:00
|
|
|
|
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,
|
|
|
|
) {
|
2024-08-03 17:00:58 +00:00
|
|
|
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
|
|
|
);
|
|
|
|
}
|